checksec脚本(检测可执行文件开启的各种安全机制)

18 篇文章 0 订阅

checksec:

checksec是一个脚本软件,也就是用脚本写的一个文件,不到2000行,可用来学习shell。

源码参见

http://www.trapkit.de/tools/checksec.html

https://github.com/slimm609/checksec.sh/

下载方法之一为

 https://github.com/slimm609/checksec.sh/archive/1.6.tar.gz

checksec到底是用来干什么的?

它是用来检查可执行文件属性,例如PIE, RELRO, PaX, Canaries, ASLR, Fortify Source等等属性。

checksec的使用方法:

checksec –file /usr/sbin/sshd

一般来说,如果是学习二进制漏洞利用的朋友,建议大家使用gdb里peda插件里自带的checksec功能,如下:

 

img

 

安装:

本来查资料按照一个普通的软件进行安装,后来解压之后和行不通了,什么./configure,make都不行,然后我发现解压后的文件里面直接有一个可执行文件,直接运行就可以了

 

ningan@ubuntu:/home$ cd /home/ningan/anan
ningan@ubuntu:~/anan$ ls
checksec.sh-1.6.tar.gz  hw  ret2libc
ningan@ubuntu:~/anan$ cd checksec.sh-1.6 
bash: cd: checksec.sh-1.6: No such file or directory
ningan@ubuntu:~/anan$ cd
ningan@ubuntu:~$ ls
anan             Desktop    Downloads         Music  Pictures  qira       Videos
checksec.sh-1.6  Documents  examples.desktop  peda   Public    Templates
ningan@ubuntu:~$ 
ningan@ubuntu:~$ 
ningan@ubuntu:~$ 
ningan@ubuntu:~$ cd /home/ningan/anan
ningan@ubuntu:~/anan$ ls
checksec.sh-1.6.tar.gz  hw  ret2libc
ningan@ubuntu:~/anan$ tar -xzvf checksec.sh-1.6.tar.gz 
checksec.sh-1.6/
checksec.sh-1.6/README.md
checksec.sh-1.6/changelog
checksec.sh-1.6/checksec
checksec.sh-1.6/checksec.sig
ningan@ubuntu:~/anan$ 
ningan@ubuntu:~/anan$ 
ningan@ubuntu:~/anan$ ls
checksec.sh-1.6  checksec.sh-1.6.tar.gz  hw  ret2libc
ningan@ubuntu:~/anan$ cd checksec.sh-1.6 
ningan@ubuntu:~/anan/checksec.sh-1.6$ ls
changelog  checksec  checksec.sig  README.md
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ ./configure
bash: ./configure: No such file or directory
ningan@ubuntu:~/anan/checksec.sh-1.6$ ./configure
bash: ./configure: No such file or directory
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ make
make: *** No targets specified and no makefile found.  Stop.
ningan@ubuntu:~/anan/checksec.sh-1.6$ make install
make: *** No rule to make target `install'.  Stop.
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ gcc
gcc: fatal error: no input files
compilation terminated.
ningan@ubuntu:~/anan/checksec.sh-1.6$ make
make: *** No targets specified and no makefile found.  Stop.
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ ./configure
bash: ./configure: No such file or directory
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ 
ningan@ubuntu:~/anan/checksec.sh-1.6$ sh ./configure
sh: ./configure: No such file or directory
ningan@ubuntu:~/anan/checksec.sh-1.6$ zsh ./configure
The program 'zsh' is currently not installed. You can install it by typing:
sudo apt-get install zsh
ningan@ubuntu:~/anan/checksec.sh-1.6$ dash ./configure
dash: 0: Can't open ./configure
ningan@ubuntu:~/anan/checksec.sh-1.6$ ls
changelog  checksec  checksec.sig  README.md
ningan@ubuntu:~/anan/checksec.sh-1.6$ ./checksec
Usage: checksec [--format {cli|csv|xml|json}] [OPTION]


Options:

  --file <executable-file>
  --dir <directory> [-v]
  --proc <process name>
  --proc-all
  --proc-libs <process ID>
  --kernel [kconfig]
  --fortify-file <executable-file>
  --fortify-proc <process ID>
  --version
  --help
  --update

For more information, see:
  http://github.com/slimm609/checksec.sh

ningan@ubuntu:~/anan/checksec.sh-1.6$ cd
ningan@ubuntu:~$ cd /home/ningan/anan/hw
ningan@ubuntu:~/anan/hw$ ls
linux_server  pwn02  pwn04  pwn06  pwn08  pwn10     pwn_demo.py
pwn01         pwn03  pwn05  pwn07  pwn09  pwn_demo
ningan@ubuntu:~/anan/hw$ checksec pwn01
[*] '/home/ningan/anan/hw/pwn01'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn02
[*] '/home/ningan/anan/hw/pwn02'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn03
[*] '/home/ningan/anan/hw/pwn03'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn04
[*] '/home/ningan/anan/hw/pwn04'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn05
[*] '/home/ningan/anan/hw/pwn05'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn06
[*] '/home/ningan/anan/hw/pwn06'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn07
[*] '/home/ningan/anan/hw/pwn07'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn08
[*] '/home/ningan/anan/hw/pwn08'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn09
[*] '/home/ningan/anan/hw/pwn09'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
ningan@ubuntu:~/anan/hw$ checksec pwn10
[*] '/home/ningan/anan/hw/pwn10'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x8048000)
    RWX:      Has RWX segments
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安安csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值