This library aims to quickly write client bots for communicating with remote hosts in a standardized way using context managers. It implements a few bots for some common protocols (HTTP, JSON, IRC, ...) and for communicating with specific applications (Shodan, Censys, HaveIBeenPwned?, RootMe, RingZer0, ...).
pip install pybots
Each bot class is implemented as a context manager and has a logger attached. It can thus be instantiated in a clear and straightforward way. Here is an example:
from pybots import TCPBot
with TCPBot("remote_host", 1234) as bot:
data = bot.send_receive("Hello!")
# do something with data
Note that, if a bot is used behind a proxy, it will use system's proxy settings. This can be bypassed by using no_proxy=True
while instantiating the bot.
with TCPBot("LAN_host", 1234, no_proxy=True) as bot:
# ...
All the following bots use the same interface providing uniformized logging.
Name | Description |
---|---|
HTTP | For browsing and parsing a Web page with BeautifulSoup |
IRC | For connecting to an IRC server on a given channel with a given nickname |
JSON | For dealing with a JSON API |
TCP | For opening a TCP socket |
Each of these bots is aimed to parse inputs from a challenge and to send the answer computed in the context of the bot to the target website for retrieving the flag.
Name | Description |
---|---|
RingZer0 | Web bot for all kinds of challenges |
RootMe | IRC bot for programming challenges |
ZSIS | Web bot for progrmming challenges |
These bots are built upon an API layer that defines corresponding interfaces to the online services' functionalities as described in their documentation. The bots implement common operations that may involve multiple calls to the online services' API.
Name | Description |
---|---|
Censys | JSON bot that checks for IP's and domains |
Ghost Project | Web bot that checks for emails |
HaveIBeenPwned? | JSON bot that checks for emails and passwords |
HaveIBeenSold? | JSON bot that checks for emails |
Nuclear Leaks | Web bot that checks for emails and domains |
Shodan | JSON bot that checks for IP's |
Name | Description |
---|---|
Git | Web bot that can retrieve a Git repository |
PostBin | Web bot that can perform Bin operations |
- Bots Scheduler (uses
ShodanBot
,HaveIBeenPwnedBot
,GhostProjectBot
and a few others)