Devkit for quickly creating client robots for remote communications
Project description
PyBots
Create your robot clients with Python.
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
Usage
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:
# ...
Supported Bots
Generic Purpose
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 |
CTF Platforms
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 |
Security Services
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 |
Utility Services
Name | Description |
---|---|
Git | Web bot that can retrieve a Git repository |
PostBin | Web bot that can perform Bin operations |
Examples
Real-Life Projects
- Bots Scheduler (uses
ShodanBot
,HaveIBeenPwnedBot
,GhostProjectBot
and a few others)
CTF
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pybots-2.1.5.tar.gz
.
File metadata
- Download URL: pybots-2.1.5.tar.gz
- Upload date:
- Size: 214.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dec4b92c026888109b5f4a144e90baa911ac1633725820154123dcb17fa23167 |
|
MD5 | 9ee2daa011464a671c9b00229d17907d |
|
BLAKE2b-256 | 44556f6ea9a96243c1d424fffe1750cd02393f3f5717a76616c735424621c7b9 |
File details
Details for the file pybots-2.1.5-py3-none-any.whl
.
File metadata
- Download URL: pybots-2.1.5-py3-none-any.whl
- Upload date:
- Size: 100.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 186d3669601bfceaf42802a6eed473ef3a42a15068b49dfe5e57eddfbb2e555d |
|
MD5 | 0d53454f42dc1313bc5fb9c3e6957118 |
|
BLAKE2b-256 | 816478fc79b471860b9b508497a9de6745ecb207a947efdbb077f6f440ba5e0c |