1.复现上课的提权案例
1)找到端口
3)通过Wappalyzer插件可以发现内容管理系统是:Drupal
4)使用mfs搜索
5)使用漏洞
6)进入命令行收集目标主机信息
7)上传文件并赋予权限
8)漏洞信息CVE-2016-5195
9)下载dirtycow漏洞的cve-2016-5195
10)上传.cpp脚本到案例机,并编译
11)g++ -Wall -pedantic -O2 -std=c++11 -pthread -o surprise surprise.cpp -lutil
12)运行
10)提权成功
2.总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
1)内网信息收集
扫描内网存活主机:
使用工具如nmap扫描同一内网下的存活主机,确定潜在的攻击目标。
收集目标系统信息:
使用nmap或fscan等工具收集目标系统的详细信息,包括操作系统版本、内核版本、运行的服务、开放的端口、已安装的软件等。
识别网站架构及漏洞:
如果目标系统开放了web服务(如HTTP/HTTPS),可以使用浏览器插件(如Wappalyzer)或在线服务来识别网站架构。
搜索已知的漏洞数据库(如阿里云漏洞库、CVE详情库等)以查找可能的漏洞。
2)漏洞搜索与利用
查找已知漏洞:
根据收集到的系统信息(如内核版本、操作系统版本等),在漏洞数据库中搜索可能的漏洞。
获取漏洞利用代码(EXP):
在GitHub等网站查找并下载针对目标漏洞的EXP。
上传并编译EXP:
将EXP上传到目标系统,并使用gcc等工具进行编译。
注意环境兼容性,确保EXP能在目标系统上正常运行。
3)执行EXP进行提权
执行EXP:
编译成功后,以低权限用户身份运行EXP,尝试提权。
验证提权结果:
使用id、whoami等命令验证是否成功提权至更高权限用户(如root)。
3.总结Linux常用命令,10个以上
s:列出目录内容。
ls -l:以长格式列出文件和目录的详细信息。
ls -a:列出所有文件,包括隐藏文件。
cd:切换目录。
cd /path/to/directory:切换到指定目录。
cd ..:返回上一级目录。
pwd:显示当前工作目录的路径。
cp:复制文件或目录。
cp source destination:将源文件复制到目标位置。
cp -r source_dir destination_dir:递归复制整个目录。
mv:移动或重命名文件或目录。
mv old_name new_name:重命名文件或目录。
mv file /path/to/directory:将文件移动到指定目录。
rm:删除文件或目录。
rm file:删除指定文件。
rm -r directory:递归删除目录及其内容。
mkdir:创建新目录。
mkdir new_directory:创建一个新目录。
rmdir:删除空目录。
touch:创建一个新的空文件或更新文件的时间戳。
cat:显示文件内容。
cat file:显示文件内容。
cat file1 file2 > combined_file:将多个文件的内容合并到一个新文件中。
echo:输出字符串到终端或文件。
echo "Hello, World!":在终端输出字符串。
echo "Hello" > file:将字符串写入文件(覆盖方式)。
grep:在文件中搜索指定的字符串。
grep "pattern" file:搜索文件中包含指定模式的行。
grep -r "pattern" directory:递归搜索目录中的文件。
find:查找文件或目录。
find /path -name "filename":在指定路径下查找特定文件。
chmod:更改文件或目录的权限。
chmod 755 file:将文件权限设置为755(所有者读写执行,组和其他用户读执行)。
chown:更改文件或目录的所有者。
chown user:group file:将文件的所有者更改为指定用户和组。
ps:显示当前运行的进程。
ps aux:显示所有进程的详细信息。
kill:终止进程。
kill PID:终止指定进程ID的进程。