Skip to content

TweetFeed collects Indicators of Compromise (IOCs) shared by the infosec community at Twitter. Here you will find malicious URLs, domains, IPs, and SHA256/MD5 hashes.

Notifications You must be signed in to change notification settings

0xDanielLopez/TweetFeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TweetFeed

Feeds of IOCs posted by the community at Twitter

TweetFeed.live   |    Source code   |    Feedback

Want to integrate with OpenCTI? Now you can!

TweetFeed.live


☰ Content

❤️ Support the project

If you like the project, please consider:

  • Giving it a star ⭐
  • Invite to a coffee

📄 Data collected

Feeds

2025-10-02 12:41:49 (UTC)
Today Last 7 days Last 30 days Last 365 days
📋 Today (raw) 📋 Week (raw) 📋 Month (raw) 📋 Year (raw)

Output example

Date (UTC) SourceUser Type Value Tags Tweet
2021-08-14 02:26:32 phishunt_io url https://netflix.us2.cards/ #phishing #scam https://twitter.com/phishunt_io/status/1426369619422502917
2021-08-17 12:15:00 TheDFIRReport ip 185.56.76.94 #Trickbot https://twitter.com/TheDFIRReport/status/1427604874053578756

📊 Some statistics

Types

Type Today Week Month Year
🔗 URLs 95 1304 5890 79480
🌐 Domains 33 714 2265 50648
🚩 IPs 55 518 3158 26561
🔢 SHA256 0 16 205 1879
🔢 MD5 2 61 286 3137

Tags

Tag Today Week Month Year
#phishing 86 994 3411 88907
#scam 16 278 914 11647
#opendir 4 20 52 798
#malware 1 44 219 21992
#maldoc 0 0 0 4
#ransomware 0 13 82 917
#banker 0 0 3 3
#AgentTesla 0 0 9 209
#Alienbot 0 0 0 0
#AsyncRAT 0 26 197 2942
#Batloader 0 0 0 0
#BazarLoader 0 0 0 0
#CobaltStrike 0 211 1694 12650
#Dcrat 2 6 57 458
#Emotet 0 0 0 0
#Formbook 0 36 49 515
#GootLoader 0 0 0 0
#GuLoader 0 0 2 45
#IcedID 0 0 0 0
#Lazarus 0 0 20 156
#Lokibot 6 14 46 200
#log4j 0 0 0 13
#Log4shell 0 0 0 0
#Njrat 0 19 40 1266
#Qakbot 0 17 118 1168
#Raccoon 0 0 0 0
#RedLine 0 2 10 160
#Remcos 0 99 424 3438
#RaspberryRobin 0 0 0 0
#Spring4Shell 0 0 0 0
#SocGolish 0 0 0 7
#Ursnif 0 0 0 0

Top Reporters (today)

Number User IOCs
#1 drb_ra 76
#2 Metemcyber 40
#3 urldna_bot 14
#4 harugasumi 13
#5 masaomi346 10
#6 @Phish_Destroy 6
#7 @CarlyGriggs13 4
#8 @urldna_bot 2
#9 suyog41 3
#10 CarlyGriggs13 2

❓ How it works?

Search tweets that contain certain tags or that are posted by certain infosec people.

Tags being searched

(not case sensitive)
- #phishing
- #scam
- #opendir
- #malware
- #maldoc
- #ransomware
- #banker
- #AgentTesla
- #Alienbot
- #AsyncRAT
- #BazarLoader
- #Batloader
- #CobaltStrike
- #Dcrat
- #Emotet
- #Formbook
- #GootLoader
- #GuLoader
- #IcedID
- #Lazarus
- #Lokibot
- #log4j
- #Log4shell
- #Njrat
- #Qakbot
- #Raccoon
- #RedLine
- #Remcos
- #RaspberryRobin
- #Spring4Shell
- #SocGholish
- #Ursnif

Also search Tweets posted by

(these are trusted folks that sometimes don't use tags)

TweetFeed list

🔍 Hunting IOCs via Microsoft Defender

1. Search SHA256 hashes with yearly tweets feed

let MaxAge = ago(30d);
let SHA256_whitelist = pack_array(
'XXX' // Some SHA256 hash you want to whitelist.
);
let TweetFeed = materialize (
    (externaldata(report:string)
    [@"https://raw.githubusercontent.com/0xDanielLopez/TweetFeed/master/year.csv"]
    with (format = "txt"))
    | extend report = parse_csv(report)
    | extend Type = tostring(report[2])
    | where Type == 'sha256'
    | extend SHA256 = tostring(report[3])
    | where SHA256 !in(SHA256_whitelist)
    | extend Tag = tostring(report[4])
    | extend Tweet = tostring(report[5])
    | project SHA256, Tag, Tweet 
);
union (
    TweetFeed
    | join (
        DeviceProcessEvents
        | where Timestamp > MaxAge
    ) on SHA256
), (
    TweetFeed
    | join (
        DeviceFileEvents
        | where Timestamp > MaxAge
    ) on SHA256
), ( 
    TweetFeed
    | join (
        DeviceImageLoadEvents
        | where Timestamp > MaxAge
    ) on SHA256
) | project Timestamp, DeviceName, FileName, FolderPath, SHA256, Tag, Tweet

2. Search IP addresses with monthly tweets feed

let MaxAge = ago(30d);
let IPaddress_whitelist = pack_array(
'XXX' // Some IP address you want to whitelist.
);
let TweetFeed = materialize (
    (externaldata(report:string)
    [@"https://raw.githubusercontent.com/0xDanielLopez/TweetFeed/master/month.csv"]
    with (format = "txt"))
    | extend report = parse_csv(report)
    | extend Type = tostring(report[2])
    | where Type == 'ip'
    | extend RemoteIP = tostring(report[3])
    | where RemoteIP !in(IPaddress_whitelist)
    | where not(ipv4_is_private(RemoteIP))
    | extend Tag = tostring(report[4])
    | extend Tweet = tostring(report[5])
    | project RemoteIP, Tag, Tweet 
);
union (
TweetFeed
    | join (
        DeviceNetworkEvents
    | where Timestamp > MaxAge
    ) on RemoteIP
) | project Timestamp, DeviceName, RemoteIP, Tag, Tweet

3. Search urls and domains with weekly tweets feed

let MaxAge = ago(30d);
let domain_whitelist = pack_array(
'XXX' // Some URL/Domain you want to whitelist.
);
let TweetFeed = materialize (
    (externaldata(report:string)
    [@"https://raw.githubusercontent.com/0xDanielLopez/TweetFeed/master/week.csv"]
    with (format = "txt"))
    | extend report = parse_csv(report)
    | extend Type = tostring(report[2])
    | where Type in('url','domain')
    | extend RemoteUrl = tostring(report[3])
    | where RemoteUrl !in(domain_whitelist)
    | extend Tag = tostring(report[4])
    | extend Tweet = tostring(report[5])
    | project RemoteUrl, Tag, Tweet 
);
union (
TweetFeed
    | join (
        DeviceNetworkEvents
    | where Timestamp > MaxAge
    ) on RemoteUrl
) | project Timestamp, DeviceName, RemoteUrl, Tag, Tweet

👤 Author

📌 Disclaimer

Please note that all the data is collected from Twitter and sorted/served here as it is on best effort.

I have tried to tune as much as possible the searches trying to collect only valuable info. However please consider making your own analysis before taking any action related to these IOCs.

Anyway feel free to reach me out or to provide any kind of feedback regarding any contribution or suggestion.


By the community, for the community.

About

TweetFeed collects Indicators of Compromise (IOCs) shared by the infosec community at Twitter. Here you will find malicious URLs, domains, IPs, and SHA256/MD5 hashes.

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •