Osintgram is a OSINT suite for Instagram account.
Osintgram offers an interactive shell to perform analysis on Instagram account of any users by its nickname. It can be useful for Cyberforensics.
You can get:
- addrs Get all registered addressed by target photos - captions Get user's photos captions - comments Get total comments of target's posts - followers Get target followers - followings Get users followed by target - fwersemail Get email of users followed by target - hashtags Get hashtags used by target - info Get target info - likes Get total likes of target's posts - mediatype Get user's posts type (photo or video) - photodes Get description of target's photos - photos Download user's photos in output folder - propic Download user's profile picture - stories Download user's stories - tagged Get list of users tagged by target - wcommented Get a list of user who commented target's photos - wtagged Get a list of user who tagged target
You can find detailed commands usage here.
- addrs
Return a list with address (GPS) tagged by target in his photos. The list has post, address and date fields.
- captions
Return a list of all captions used by target in his photos.
- comments
Return the total number of comments in target’s posts
- exit
Exit from Osintgram
- FILE
Can set preference to save commands output in output folder. It save output in <target username>_<command>.txt file.
With FILE=y you can enable saving in file.
With FILE=n you can disable saving in file.
- followers
Return a list with target followers with id, nickname and full name
- followings
Return a list with users followed by target with id, nickname and full name
- fwersemail
Return a list of emails of target followers
- hashtags
Return a list with all hashtag used by target in his photos
- info
Osintgram show info as follows:
- id
- full name
- biography
- followed
- follow
- is business account?
- business catagory (if target has business account)
- is verified?
- business email (if available)
- HD profile picture url
- connected Facebook page (if available)
JSON
Can set preference to export commands output as JSON in output folder.
It save output in <target username>_<command>.JSON file.
With JSON=y you can enable JSON exporting.
With JSON=n you can disable JSON exporting.
likes
Return the total number of likes in target’s posts
list (or help)
Show all commands avaible.
mediatype
Return the number of photos and video shared by target
photodes
Return a list with the description of the content of target’s photos
photos
Download all target’s photos in output folder. When you run the command, script ask you how many photos you want to download. Type ENTER to download all photos avaible or type a number to choose how many photos you want download.
Run a command: photos
How many photos you want to download (default all):
propic
Download target profile picture (HD if is available)
stories
Download all target’s stories in output folder.
tagged
Return a list of users tagged by target with ID, username and full name
wcommented
Return a list of users who commented target’s photos sorted by number of comments
wtagged
Return a list of users who tagged target sorted by number of photos
Installation
1. Fork/Clone/Download this repo
git clone https://github.com/Datalux/Osintgram.git
2. Navigate to the directory
cd Osintgram
3. Create a virtual environment for this project
python3 -m venv venv
4. Load the virtual environment
On Windows Powershell:
.\venv\Scripts\activate.ps1
On Linux and Git Bash:
source venv/bin/activate
5. Run
pip install -r requirements.txt
6. Open the credentials.ini file in the config folder and write your Instagram account username and password in the corresponding fields
Alternatively, you can run the make setup command to populate this file for you.
7. Run the main.py script in one of two ways
- As an interactive prompt python3 main.py <target username>
- Or execute your command straight away python3 main.py <target username> –command <command>
Docker Quick Start
This section will explain how you can quickly use this image with Docker or Docker-compose.
Prerequisites
Before you can use either Docker or Docker-compose, please ensure you do have the following prerequisites met.
- Docker installed – link
- Docker-composed installed (if using Docker-compose) – link
- Credentials configured – This can be done manually or by running the make setup command from the root of this repo
Important: Your container will fail if you do not do step #3 and configure your credentials
Docker
If docker is installed you can build an image and run this as a container.
Build:
docker build -t osintgram
Run:
docker run --rm -it -v "$PWD/output:/home/osintgram/output" osintgram <target>
- The <target> is the Instagram account you wish to use as your target for recon.
- The required -i flag enables an interactive terminal to use commands within the container. docs
- The required -v flag mounts a volume between your local filesystem and the container to save to the ./output/ folder. docs
- The optional –rm flag removes the container filesystem on completion to prevent cruft build-up. docs
- The optional -t flag allocates a pseudo-TTY which allows colored output. docs
Using docker-compose
You can use the docker-compose.yml file this single command:
docker-compose run osintgram <target>
Where target is the Instagram target for recon.
Alternatively you may run docker-compose with the Makefile:
make run – Builds and Runs with compose. Prompts for a target before running.
Makefile (easy mode)
For ease of use with Docker-compose, a Makefile has been provided.
Here is a sample work flow to spin up a container and run osintgram with just two commands!
- make setup – Sets up your Instagram credentials
- make run – Builds and Runs a osintgram container and prompts for a target
Sample workflow for development:
- make setup – Sets up your Instagram credentials
- make build-run-testing – Builds an Runs a container without invoking the main.py script. Useful for an it Docker session for development
- make cleanup-testing – Cleans up the testing container created from build-run-testing
Development version
To use the development version with the latest feature and fixes just switch to development branch using Git:
git checkout development
and update to last version using:
git pull origin development
Updating
To update Osintgram with the stable release just pull the latest commit using Git.
- Make sure you are in the master branch running: git checkout master
- Download the latest version: git pull origin master
Disclaimer: This suite is knowledge purpose only.
Warning: It is advisable to not use your own/primary account when using this software.