随记靶机渗透-KiraCTF – 作者:木海xixi

靶机详情

靶机名称:KiraCTF

靶机作者:Bassam Assiri

靶机难度:简易(作者没说明,但我认为是这样没错)

靶机发布时间:2020-11-04

靶机环境

系统:Ubuntu

平台:Vmware

网卡:桥接模式

信息收集

靶机部署好了之后,我们使用Kali自带的arp-scan去对其局域网存活主机进行识别

arp-scan -l

1607413389_5fcf2e8d10f7e8b0cab00.png!small?1607413434761

发现靶机ip为:192.168.0.103,接着下一步对目标进行端口扫描

-sS:半开放扫描

-T4:扫描速度为第四级

-p 1-65535: 全端口扫描

-v:列出扫描详情

nmap -sS -T4 -p 1-65535 -v 192.168.0.103

Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-08 15:47 CST
Initiating ARP Ping Scan at 15:47
Scanning 192.168.0.103 [1 port]
Completed ARP Ping Scan at 15:47, 0.05s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 15:47
Completed Parallel DNS resolution of 1 host. at 15:47, 0.00s elapsed
Initiating SYN Stealth Scan at 15:47
Scanning 192.168.0.103 [65535 ports]
Discovered open port 80/tcp on 192.168.0.103
Completed SYN Stealth Scan at 15:47, 1.18s elapsed (65535 total ports)
Nmap scan report for 192.168.0.103
Host is up (0.00055s latency).
Not shown: 65534 closed ports
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:0C:29:01:47:D9 (VMware)

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.38 seconds

行叭,就开放了个80端口,那就当作我们的第一突破口,直接访问80端口

访问之后发现有一个文件上传的功能,以及一个不知道能干嘛的东西

那既然有上传,那就先尝试上传php,看看能不能上去

1607414088_5fcf314860d74e8c2cc7e.png!small?1607414133986

好家伙如我所愿,php上不去,系统提示我们上传的文件不是jpg文件,那接着上张图片

1607415036_5fcf34fc0b415ef02f430.png!small?1607415081417

1607415075_5fcf3523b3174345581ad.png!small?1607415122093

成功上去了,还返回了路径,访问康康

1607415125_5fcf3555eff2fd626a6ba.png!small?1607415172350

不错,但是没啥用,还没能Getshell呢,想到还有另一个功能点,去康康

1607415313_5fcf36116bd9f8f9a6f31.png!small?1607415358808

发现了什么,LFI!文件包含,既然这样,思路就清晰了。

Getshell

首先准备一张图片,利用copy的方式将冰蝎的php马写进去,利用文件包含的形式Getshell

1607417578_5fcf3eead1c90435d326b.png!small?1607417624149

1607417611_5fcf3f0b858226d621e90.png!small?1607417656765

上传之后在文件包含处进行url拼接就可以丢进冰蝎连接了

1607417671_5fcf3f47320fb46805e74.png!small?1607417716448

1607417683_5fcf3f5307ae838d028af.png!small?1607417728354

反弹Metepreter

利用冰蝎自带的反弹Metepreter功能,将shell反弹到kali上

1607417834_5fcf3fea05f92bde13896.png!small?1607417879382

利用python返回一个TTY交互式界面

python3 -c “import pty;pty.spawn(‘/bin/bash’)”

1607417931_5fcf404b609783b3c61a0.png!small?1607417976656

正好是在网站目录下,那我们看看上传的源码和文件包含的源码

<?php

if(isset($_POST[‘Submit1’]))
{

$extension = pathinfo($_FILES[“file”][“name”], PATHINFO_EXTENSION);

if($extension==’jpg’ || $extension==’jpeg’ || $extension==’png’ || $extension==’gif’)
{
move_uploaded_file($_FILES[‘file’][‘tmp_name’],(“uploads/”.$_FILES[‘file’][‘name’]));
Echo “<script>alert(‘upload Done’);
</script><b>Uploaded !!!</b><br>name : uploads/”.$_FILES[‘file’][‘name’];

}
else
{
echo “File is not image”;
}
}

?>

大概意思就是首先判断有没有文件传入,有文件传入就利用pathinfo()函数返回文件的路径,并使用PATHINFO_EXTENSION返回规定的数组,也就是返回extension,看实例会更清楚:

<?php
print_r(pathinfo(“/testweb/test.txt”));
?>
———————————————-
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
[filename] => test
)

所以说我们上传的文件都会被检测后缀,使用类似白名单的形式去做了一个上传限制,所以只能上它规定的四个后缀的文件。再看到language.php

<?php
if(isset($_GET[‘lang’])){
include(“/var/www/html/”.$_GET[‘lang’]);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>LFI</title>
</head>
<body>
<input type=”submit” value=”language” 
onclick=”window.location=’/language.php?lang=en.php’;” />  
</form>
</body>
</html>

直接使用了include()函数进行文件读取,没有做限制以及过滤,所以导致了文件包含

言归正传,接着在当前目录下的文件夹中找到了一个密码,是用户bassam的密码

1607418649_5fcf431958a69757cdef2.png!small?1607418694668

切换用户

1607418711_5fcf435706cabc71b0b01.png!small?1607418756321

提权

成功来到了bassam用户下,并在/home/bassam下找到了第一个Flag

1607418798_5fcf43ae1ea4d346a2a92.png!small?1607418843410

开始提权,linux提权主要分为几种:

1、脏牛提权-需要系统的内核版本在可提权版本内

2、利用地权限用户下可被root用户调用的脚本提权

3、利用环境变量劫持高权限程序提权

这里我们使用第二个方法进行提权,首先查看自己能执行的sudo下的命令,这时候会提示你输入bassam的密码,输入进行就可以了

sudo -l

1607419132_5fcf44fcbeb0fd3983561.png!small?1607419178064

find是全体用户的权限,那说明也包括root,那就利用find进行提权,可以利用gtfobins查询提权的命令

1607419247_5fcf456fdec7834bdbc0f.png!small?1607419297263

在终端下执行这条命令,就可以成功提权至root用户,好家伙我直接好家伙,继续利用python交互出TTY

1607419341_5fcf45cd3b80f77615c08.png!small?1607419386607这样我们就成功提权了,并在root目录下拿到最后的Flag

THM{root-Is_Better-Than_All-of-THEM-31337}

总结

知识点:

1、制作图片马

2、文件包含

3、sudo提权

第一次自主完成靶机,没看攻略,而且目前位置网上还没有出现该靶机的攻略,这一点还是让自己有点点成就感的;如果文章中有什么不对的地方,希望各位大佬斧正!蟹蟹!!转载请说明噢!

来源:freebuf.com 2020-12-08 17:52:25 by: 木海xixi

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论