This system is a system that automatically penetrates Web middleware and Web frameworks. It automatically collects assets according to scanning options, and then performs POC scanning. During POC scanning, POC plug-ins are selected based on fingerprints to scan. POC plug-in scanning is performed asynchronously. The front-end uses vue technology, and the back-end uses python fastapi.
Scanning is divided into fingerprint detection, subdomain blasting, port scanning, directory scanning, and POC scanning. If you select all scanning options, the IP scanned by the subdomain name will be passed to the port scan, the fingerprint will be identified in the port scan, and the scanned assets will be passed to the directory. Scan and POC scan, POC scan will load the plug-in scan based on the asset fingerprint, if If the fingerprint cannot be recognized, all plug-ins are loaded. POC plug-ins are divided into two types, http and port. The http type refers to sending http requests, and port refers to sending socket requests. If the scanned assets are in URL format, the http type plug-in is loaded. Otherwise, the port type plug-in is loaded.
The data stored in mysql is AES-encrypted data. The login request uses rsa request, which is currently the default key. If you need to modify the key, refer to the following. Modifying the key information requires recompiling the vue source code.
For python, you can directly modify the configuration of the aes part in /python/conf.ini. Use cbc mode, which requires key and iv. For the vue part, you need to modify the third and fourth lines in the vue_src/src/libs/AES.js file. OK, it must be consistent with conf.ini
You need to generate the public and private keys of rsa (private key 1024 bits). The reference address is to modify the public key and private key information in the python/rsa.py file. For the vue part, you need to modify line 77 of the vue_src/src/libs/crypto.js file. The public key must be consistent with the public key in the python/rsa.py file
After modifying the vue part, you need to repackage it, then copy the contents of the packaged folder dist to the vue folder, and delete the original vue files.
npm run build (it is packaged, that is, the vue folder, which can be used directly. For self-packaging, you need to install node and vue. Please refer to https://www.runoob.com/nodejs/nodejs-install-setup.html, https:/ /www.runoob.com/vue2/vue-install.html)
ubuntu deployment
centos deployment
Self-compile docker files for deployment
Get the image from dockerhub
Refer to https://github.com/taomujian/linbing/blob/master/ubuntu deployment.md)
Refer to https://github.com/taomujian/linbing/blob/master/centos deployment.md)
First download the project locally (https://github.com/taomujian/linbing.git), then configure the account and authorization code used to send emails in python/conf.ini, and then modify the mysql database account password in python/conf.ini , this account password must be consistent with the account password set in the dockerfile.
docker build -f ubuntu.dockerfile -t linbing .
docker run -it -d -p 11000:11000 -p 8800:8800 linbing
docker pull taomujian/linbing:latest
docker run -it -d -p 11000:11000 -p 8800:8800 taomujian/linbing
Just visit http://yourip:11000/login. The default account password is admin/X!ru0#M&%V
The usage process is to add the target first, and then scan the target. The scanning options include port scanning, directory scanning, and POC scanning. Currently, POC scanning loads all POCs by default, and custom selection is not supported at the moment.
Thanks to the vulhub project for providing the target environment: https://github.com/vulhub/vulhub, https://hub.docker.com/r/2d8ru/struts2
POC also refers to many projects: https://github.com/Xyntax/POC-T,
https://github.com/ysrc/xunfeng、
https://github.com/se55i0n/DBScanner、
https://github.com/vulscanteam/vulscan
I would like to thank Master Pan for teaching me how to get started safely, and I would also like to thank my classmate Daiju for guiding me on Vue.
Tools are only used for security research and internal self-examination. It is prohibited to use tools to launch illegal attacks. The user is responsible for the consequences.
MIT