OpenVAS Scanner  22.7.9
nasl_init.c
Go to the documentation of this file.
1 /* SPDX-FileCopyrightText: 2023 Greenbone AG
2  * SPDX-FileCopyrightText: 2002-2004 Tenable Network Security
3  *
4  * SPDX-License-Identifier: GPL-2.0-only
5  */
6 
7 #include "nasl_init.h"
8 
9 #include "../misc/network.h" /* for OPENVAS_ENCAPS_* */
10 #include "../misc/nvt_categories.h" /* for ACT_INIT */
11 #include "exec.h"
12 #include "nasl.h"
13 #include "nasl_builtin_plugins.h"
14 #include "nasl_cert.h"
15 #include "nasl_cmd_exec.h"
16 #include "nasl_crypto.h"
17 #include "nasl_crypto2.h"
18 #include "nasl_debug.h"
19 #include "nasl_frame_forgery.h"
20 #include "nasl_func.h"
21 #include "nasl_global_ctxt.h"
22 #include "nasl_host.h"
23 #include "nasl_http.h"
24 #include "nasl_isotime.h"
25 #include "nasl_lex_ctxt.h"
26 #include "nasl_misc_funcs.h"
27 #include "nasl_packet_forgery.h"
28 #include "nasl_packet_forgery_v6.h"
29 
30 #include <stdlib.h> /* for getenv. */
31 #include <string.h> /* for memset */
32 /* to e.g. favour BSD, but also for IPPROTO_TCP and TH_FIN */
33 #include "nasl_raw.h"
34 #include "nasl_scanner_glue.h"
35 #include "nasl_smb.h"
36 #include "nasl_snmp.h"
37 #include "nasl_socket.h"
38 #include "nasl_ssh.h"
39 #include "nasl_text_utils.h"
40 #include "nasl_tree.h"
41 #include "nasl_var.h"
42 #include "nasl_wmi.h"
43 
44 /* **************************************************************** */
45 
46 typedef struct
47 {
48  /* XXX: Unify with nasl_func */
49  const char *name;
50  tree_cell *(*c_code) (lex_ctxt *);
51 } init_func;
52 
58 static init_func libfuncs[] = {
59  {"script_name", script_name},
60  {"script_version", script_version},
61  {"script_timeout", script_timeout},
62  {"script_copyright", script_copyright},
63  {"script_category", script_category},
64  {"script_family", script_family},
65  {"script_dependencies", script_dependencies},
66  {"script_require_keys", script_require_keys},
67  {"script_mandatory_keys", script_mandatory_keys},
68  {"script_require_ports", script_require_ports},
69  {"script_require_udp_ports", script_require_udp_ports},
70  {"script_exclude_keys", script_exclude_keys},
71  {"script_add_preference", script_add_preference},
72  {"script_get_preference", script_get_preference},
73  {"script_get_preference_file_content", script_get_preference_file_content},
74  {"script_get_preference_file_location", script_get_preference_file_location},
75  {"script_oid", script_oid},
76  {"script_cve_id", script_cve_id},
77  {"script_xref", script_xref},
78  {"script_tag", script_tag},
79  {"vendor_version", nasl_vendor_version},
80  {"get_preference", nasl_get_preference},
81  {"safe_checks", safe_checks},
82  {"get_script_oid", get_script_oid},
83  {"replace_kb_item", replace_kb_item},
84  {"set_kb_item", set_kb_item},
85  {"get_kb_item", get_kb_item},
86  {"get_kb_list", get_kb_list},
87  {"get_host_kb_index", get_host_kb_index},
88  {"security_message", security_message},
89  {"log_message", log_message},
90  {"error_message", error_message},
91  {"open_sock_tcp", nasl_open_sock_tcp},
92  {"open_sock_udp", nasl_open_sock_udp},
93  {"open_priv_sock_tcp", nasl_open_priv_sock_tcp},
94  {"open_priv_sock_udp", nasl_open_priv_sock_udp},
95  {"socket_get_error", nasl_socket_get_error},
96  {"recv", nasl_recv},
97  {"recv_line", nasl_recv_line},
98  {"send", nasl_send},
99  {"get_mtu", nasl_get_mtu},
100  {"socket_negotiate_ssl", nasl_socket_negotiate_ssl},
101  {"socket_check_ssl_safe_renegotiation",
103  {"socket_ssl_do_handshake", nasl_socket_ssl_do_handshake},
104  {"socket_get_cert", nasl_socket_get_cert},
105  {"socket_get_ssl_version", nasl_socket_get_ssl_version},
106  {"socket_get_ssl_ciphersuite", nasl_socket_get_ssl_ciphersuite},
107  {"socket_get_ssl_session_id", nasl_socket_get_ssl_session_id},
108  {"socket_cert_verify", nasl_socket_cert_verify},
109  {"close", nasl_close_socket},
110  {"join_multicast_group", nasl_join_multicast_group},
111  {"leave_multicast_group", nasl_leave_multicast_group},
112  {"get_source_port", nasl_get_source_port},
113  {"get_sock_info", nasl_get_sock_info},
114  {"cgibin", cgibin},
115  {"http_open_socket", http_open_socket},
116  {"http_head", http_head},
117  {"http_get", http_get},
118  {"http_post", http_post},
119  {"http_delete", http_delete},
120  {"http_put", http_put},
121  {"http_close_socket", http_close_socket},
122  {"add_host_name", add_hostname},
123  {"get_host_name", get_hostname},
124  {"get_host_names", get_hostnames},
125  {"get_host_name_source", get_hostname_source},
126  {"resolve_host_name", resolve_hostname},
127  {"resolve_hostname_to_multiple_ips", resolve_hostname_to_multiple_ips},
128  {"get_host_ip", get_host_ip},
129  {"get_local_mac_address_from_ip", nasl_get_local_mac_address_from_ip},
130  {"same_host", nasl_same_host},
131  {"TARGET_IS_IPV6", nasl_target_is_ipv6},
132  {"get_host_open_port", get_host_open_port},
133  {"get_port_state", get_port_state},
134  {"get_tcp_port_state", get_port_state},
135  {"get_udp_port_state", get_udp_port_state},
136  {"scanner_add_port", nasl_scanner_add_port},
137  {"scanner_status", nasl_scanner_status},
138  {"scanner_get_port", nasl_scanner_get_port},
139  {"islocalhost", nasl_islocalhost},
140  {"islocalnet", nasl_islocalnet},
141  {"get_port_transport", get_port_transport},
142  {"this_host", nasl_this_host},
143  {"this_host_name", nasl_this_host_name},
144  {"string", nasl_string},
145  {"raw_string", nasl_rawstring},
146  {"strcat", nasl_strcat},
147  {"display", nasl_display},
148  {"ord", nasl_ord},
149  {"hex", nasl_hex},
150  {"hexstr", nasl_hexstr},
151  {"strstr", nasl_strstr},
152  {"ereg", nasl_ereg},
153  {"ereg_replace", nasl_ereg_replace},
154  {"egrep", nasl_egrep},
155  {"eregmatch", nasl_eregmatch},
156  {"match", nasl_match},
157  {"substr", nasl_substr},
158  {"insstr", nasl_insstr},
159  {"tolower", nasl_tolower},
160  {"toupper", nasl_toupper},
161  {"crap", nasl_crap},
162  {"strlen", nasl_strlen},
163  {"split", nasl_split},
164  {"chomp", nasl_chomp},
165  {"int", nasl_int},
166  {"stridx", nasl_stridx},
167  {"str_replace", nasl_str_replace},
168  {"make_list", nasl_make_list},
169  {"make_array", nasl_make_array},
170  {"keys", nasl_keys},
171  {"max_index", nasl_max_index},
172  {"sort", nasl_sort_array},
173  {"unixtime", nasl_unixtime},
174  {"gettimeofday", nasl_gettimeofday},
175  {"localtime", nasl_localtime},
176  {"mktime", nasl_mktime},
177  {"open_sock_kdc", nasl_open_sock_kdc},
178  {"telnet_init", nasl_telnet_init},
179  {"ftp_log_in", nasl_ftp_log_in},
180  {"ftp_get_pasv_port", nasl_ftp_get_pasv_address},
181  {"start_denial", nasl_start_denial},
182  {"end_denial", nasl_end_denial},
183  {"dump_ctxt", nasl_dump_ctxt},
184  {"typeof", nasl_typeof},
185  {"exit", nasl_do_exit},
186  {"rand", nasl_rand},
187  {"usleep", nasl_usleep},
188  {"sleep", nasl_sleep},
189  {"isnull", nasl_isnull},
190  {"defined_func", nasl_defined_func},
191 
192  /* Following 5 entries needed for backwards compatibility.
193  * TODO: Once versions older than 20.08 are no longer in use these 5 entries
194  * can be deleted. */
195  {"forge_ipv6_packet", forge_ip_v6_packet},
196  {"get_ipv6_element", get_ip_v6_element},
197  {"set_ipv6_elements", set_ip_v6_elements},
198  {"insert_ipv6_options", insert_ip_v6_options},
199  {"dump_ipv6_packet", dump_ip_v6_packet},
200 
201  {"forge_ip_packet", forge_ip_packet},
202  {"forge_ip_v6_packet", forge_ip_v6_packet},
203  {"get_ip_element", get_ip_element},
204  {"get_ip_v6_element", get_ip_v6_element},
205  {"set_ip_elements", set_ip_elements},
206  {"set_ip_v6_elements", set_ip_v6_elements},
207  {"insert_ip_options", insert_ip_options},
208  {"insert_ip_v6_options", insert_ip_v6_options},
209  {"dump_ip_packet", dump_ip_packet},
210  {"dump_ip_v6_packet", dump_ip_v6_packet},
211  {"forge_tcp_packet", forge_tcp_packet},
212  {"forge_tcp_v6_packet", forge_tcp_v6_packet},
213  {"get_tcp_element", get_tcp_element},
214  {"get_tcp_v6_element", get_tcp_v6_element},
215  {"get_tcp_option", get_tcp_option},
216  {"get_tcp_v6_option", get_tcp_v6_option},
217  {"set_tcp_elements", set_tcp_elements},
218  {"set_tcp_v6_elements", set_tcp_v6_elements},
219  {"insert_tcp_options", insert_tcp_options},
220  {"insert_tcp_v6_options", insert_tcp_v6_options},
221  {"dump_tcp_packet", dump_tcp_packet},
222  {"dump_tcp_v6_packet", dump_tcp_v6_packet},
223  {"tcp_ping", nasl_tcp_ping},
224  {"tcp_v6_ping", nasl_tcp_v6_ping},
225  {"forge_udp_packet", forge_udp_packet},
226  {"forge_udp_v6_packet", forge_udp_v6_packet},
227  {"get_udp_element", get_udp_element},
228  {"get_udp_v6_element", get_udp_v6_element},
229  {"set_udp_elements", set_udp_elements},
230  {"set_udp_v6_elements", set_udp_v6_elements},
231  {"dump_udp_packet", dump_udp_packet},
232  {"dump_udp_v6_packet", dump_udp_v6_packet},
233  {"forge_icmp_packet", forge_icmp_packet},
234  {"forge_icmp_v6_packet", forge_icmp_v6_packet},
235  {"get_icmp_element", get_icmp_element},
236  {"get_icmp_v6_element", get_icmp_v6_element},
237  {"dump_icmp_packet", dump_icmp_packet},
238  {"dump_icmp_v6_packet", dump_icmp_v6_packet},
239  {"forge_igmp_packet", forge_igmp_packet},
240  {"forge_igmp_v6_packet", forge_igmp_v6_packet},
241  {"send_packet", nasl_send_packet},
242  {"send_v6packet", nasl_send_v6packet},
243  {"send_arp_request", nasl_send_arp_request},
244  {"forge_frame", nasl_forge_frame},
245  {"send_frame", nasl_send_frame},
246  {"dump_frame", nasl_dump_frame},
247  {"pcap_next", nasl_pcap_next},
248  {"send_capture", nasl_send_capture},
249  {"MD2", nasl_md2},
250  {"MD4", nasl_md4},
251  {"MD5", nasl_md5},
252  {"SHA1", nasl_sha1},
253  {"SHA256", nasl_sha256},
254  {"SHA512", nasl_sha512},
255  {"RIPEMD160", nasl_ripemd160},
256  {"HMAC_MD2", nasl_hmac_md2},
257  {"HMAC_MD5", nasl_hmac_md5},
258  {"HMAC_SHA1", nasl_hmac_sha1},
259  {"HMAC_SHA256", nasl_hmac_sha256},
260  {"HMAC_SHA384", nasl_hmac_sha384},
261  {"HMAC_SHA512", nasl_hmac_sha512},
262  {"HMAC_RIPEMD160", nasl_hmac_ripemd160},
263  {"prf_sha256", nasl_prf_sha256},
264  {"prf_sha384", nasl_prf_sha384},
265  {"tls1_prf", nasl_tls1_prf},
266  {"ntlmv2_response", nasl_ntlmv2_response},
267  {"ntlm2_response", nasl_ntlm2_response},
268  {"ntlm_response", nasl_ntlm_response},
269  {"key_exchange", nasl_keyexchg},
270  {"NTLMv1_HASH", nasl_ntlmv1_hash},
271  {"NTLMv2_HASH", nasl_ntlmv2_hash},
272  {"nt_owf_gen", nasl_nt_owf_gen},
273  {"lm_owf_gen", nasl_lm_owf_gen},
274  {"ntv2_owf_gen", nasl_ntv2_owf_gen},
275  {"insert_hexzeros", nasl_insert_hexzeros},
276  {"dec2str", nasl_dec2str},
277  {"get_signature", nasl_get_sign},
278  {"get_smb2_signature", nasl_get_smb2_sign},
279  {"smb_cmac_aes_signature", nasl_smb_cmac_aes_sign},
280  {"smb_gmac_aes_signature", nasl_smb_gmac_aes_sign},
281  {"dh_generate_key", nasl_dh_generate_key},
282  {"bn_random", nasl_bn_random},
283  {"bn_cmp", nasl_bn_cmp},
284  {"dh_compute_key", nasl_dh_compute_key},
285  {"rsa_public_encrypt", nasl_rsa_public_encrypt},
286  {"rsa_private_decrypt", nasl_rsa_private_decrypt},
287  {"rsa_public_decrypt", nasl_rsa_public_decrypt},
288  {"bf_cbc_encrypt", nasl_bf_cbc_encrypt},
289  {"bf_cbc_decrypt", nasl_bf_cbc_decrypt},
290  {"rc4_encrypt", nasl_rc4_encrypt},
291  {"aes_mac_cbc", nasl_aes_mac_cbc},
292  {"aes_mac_gcm", nasl_aes_mac_gcm},
293  {"aes128_cbc_encrypt", nasl_aes128_cbc_encrypt},
294  {"aes256_cbc_encrypt", nasl_aes256_cbc_encrypt},
295  {"aes128_ctr_encrypt", nasl_aes128_ctr_encrypt},
296  {"aes256_ctr_encrypt", nasl_aes256_ctr_encrypt},
297  {"aes128_gcm_encrypt", nasl_aes128_gcm_encrypt},
298  {"aes128_gcm_encrypt_auth", nasl_aes128_gcm_encrypt_auth},
299  {"aes128_gcm_decrypt", nasl_aes128_gcm_decrypt},
300  {"aes128_gcm_decrypt_auth", nasl_aes128_gcm_decrypt_auth},
301  {"aes256_gcm_encrypt", nasl_aes256_gcm_encrypt},
302  {"aes256_gcm_encrypt_auth", nasl_aes256_gcm_encrypt_auth},
303  {"aes256_gcm_decrypt", nasl_aes256_gcm_decrypt},
304  {"aes256_gcm_decrypt_auth", nasl_aes256_gcm_decrypt_auth},
305  {"aes128_ccm_encrypt", nasl_aes128_ccm_encrypt},
306  {"aes128_ccm_encrypt_auth", nasl_aes128_ccm_encrypt_auth},
307  {"aes128_ccm_decrypt", nasl_aes128_ccm_decrypt},
308  {"aes128_ccm_decrypt_auth", nasl_aes128_ccm_decrypt_auth},
309  {"aes256_ccm_encrypt", nasl_aes256_ccm_encrypt},
310  {"aes256_ccm_encrypt_auth", nasl_aes256_ccm_encrypt_auth},
311  {"aes256_ccm_decrypt", nasl_aes256_ccm_decrypt},
312  {"aes256_ccm_decrypt_auth", nasl_aes256_ccm_decrypt_auth},
313  {"smb3kdf", nasl_smb3kdf},
314  {"des_ede_cbc_encrypt", nasl_des_ede_cbc_encrypt},
315  {"open_rc4_cipher", nasl_open_rc4_cipher},
316  {"close_stream_cipher", nasl_close_stream_cipher},
317  {"dsa_do_verify", nasl_dsa_do_verify},
318  {"pem_to_rsa", nasl_pem_to_rsa},
319  {"pem_to_dsa", nasl_pem_to_dsa},
320  {"rsa_sign", nasl_rsa_sign},
321  {"dsa_do_sign", nasl_dsa_do_sign},
322  {"gunzip", nasl_gunzip},
323  {"gzip", nasl_gzip},
324  {"DES", nasl_cipher_des},
325  {"snmpv1_get", nasl_snmpv1_get},
326  {"snmpv1_getnext", nasl_snmpv1_getnext},
327  {"snmpv2c_get", nasl_snmpv2c_get},
328  {"snmpv2c_getnext", nasl_snmpv2c_getnext},
329  {"snmpv3_get", nasl_snmpv3_get},
330  {"snmpv3_getnext", nasl_snmpv3_getnext},
331  {"ssh_connect", nasl_ssh_connect},
332  {"ssh_disconnect", nasl_ssh_disconnect},
333  {"ssh_session_id_from_sock", nasl_ssh_session_id_from_sock},
334  {"ssh_get_sock", nasl_ssh_get_sock},
335  {"ssh_set_login", nasl_ssh_set_login},
336  {"ssh_userauth", nasl_ssh_userauth},
337  {"ssh_login_interactive", nasl_ssh_login_interactive},
338  {"ssh_login_interactive_pass", nasl_ssh_login_interactive_pass},
339  {"ssh_request_exec", nasl_ssh_request_exec},
340  {"ssh_shell_open", nasl_ssh_shell_open},
341  {"ssh_shell_read", nasl_ssh_shell_read},
342  {"ssh_shell_write", nasl_ssh_shell_write},
343  {"ssh_shell_close", nasl_ssh_shell_close},
344  {"ssh_get_issue_banner", nasl_ssh_get_issue_banner},
345  {"ssh_get_server_banner", nasl_ssh_get_server_banner},
346  {"ssh_get_auth_methods", nasl_ssh_get_auth_methods},
347  {"ssh_get_host_key", nasl_ssh_get_host_key},
348  {"sftp_enabled_check", nasl_sftp_enabled_check},
349 
350 #ifdef HAVE_LIBKSBA
351  {"cert_open", nasl_cert_open},
352  {"cert_close", nasl_cert_close},
353  {"cert_query", nasl_cert_query},
354 #endif /*HAVE_LIBKSBA*/
355 
356  {"pread", nasl_pread},
357  {"find_in_path", nasl_find_in_path},
358  {"fread", nasl_fread},
359  {"fwrite", nasl_fwrite},
360  {"unlink", nasl_unlink},
361  {"get_tmp_dir", nasl_get_tmp_dir},
362  {"get_byte_order", nasl_get_byte_order},
363  {"file_stat", nasl_file_stat},
364  {"file_open", nasl_file_open},
365  {"file_close", nasl_file_close},
366  {"file_read", nasl_file_read},
367  {"file_write", nasl_file_write},
368  {"file_seek", nasl_file_seek},
369  {"wmi_versioninfo", nasl_wmi_versioninfo},
370  {"wmi_connect", nasl_wmi_connect},
371  {"wmi_close", nasl_wmi_close},
372  {"wmi_query", nasl_wmi_query},
373  {"wmi_connect_rsop", nasl_wmi_connect_rsop},
374  {"wmi_query_rsop", nasl_wmi_query_rsop},
375  {"wmi_connect_reg", nasl_wmi_connect_reg},
376  {"wmi_reg_enum_key", nasl_wmi_reg_enum_key},
377  {"wmi_reg_enum_value", nasl_wmi_reg_enum_value},
378  {"wmi_reg_get_sz", nasl_wmi_reg_get_sz},
379  {"wmi_reg_get_bin_val", nasl_wmi_reg_get_bin_val},
380  {"wmi_reg_get_dword_val", nasl_wmi_reg_get_dword_val},
381  {"wmi_reg_get_ex_string_val", nasl_wmi_reg_get_ex_string_val},
382  {"wmi_reg_get_mul_string_val", nasl_wmi_reg_get_mul_string_val},
383  {"wmi_reg_get_qword_val", nasl_wmi_reg_get_qword_val},
384  {"wmi_reg_set_dword_val", nasl_wmi_reg_set_dword_val},
385  {"wmi_reg_set_qword_val", nasl_wmi_reg_set_qword_val},
386  {"wmi_reg_set_ex_string_val", nasl_wmi_reg_set_ex_string_val},
387  {"wmi_reg_set_string_val", nasl_wmi_reg_set_string_val},
388  {"wmi_reg_create_key", nasl_wmi_reg_create_key},
389  {"wmi_reg_delete_key", nasl_wmi_reg_delete_key},
390  {"smb_versioninfo", nasl_smb_versioninfo},
391  {"smb_connect", nasl_smb_connect},
392  {"smb_close", nasl_smb_close},
393  {"smb_file_SDDL", nasl_smb_file_SDDL},
394  {"smb_file_owner_sid", nasl_smb_file_owner_sid},
395  {"smb_file_group_sid", nasl_smb_file_group_sid},
396  {"smb_file_trustee_rights", nasl_smb_file_trustee_rights},
397  {"win_cmd_exec", nasl_win_cmd_exec},
398  {"plugin_run_find_service", plugin_run_find_service},
399  {"plugin_run_openvas_tcp_scanner", plugin_run_openvas_tcp_scanner},
400  {"plugin_run_synscan", plugin_run_synscan},
401  {"isotime_now", nasl_isotime_now},
402  {"isotime_is_valid", nasl_isotime_is_valid},
403  {"isotime_scan", nasl_isotime_scan},
404  {"isotime_print", nasl_isotime_print},
405  {"isotime_add", nasl_isotime_add},
406  {NULL, NULL}};
407 
408 /* String variables */
409 static struct
410 {
411  const char *name;
412  const char *val;
413 } libsvars[] = {
414  {"OPENVAS_VERSION", OPENVASLIB_VERSION},
415  {NULL, NULL},
416 };
417 
418 /* Integer variables */
419 static struct
420 {
421  const char *name;
422  int val;
423 } libivars[] = {
424  {"TRUE", 1},
425  {"FALSE", 0},
426  {"IPPROTO_TCP", IPPROTO_TCP},
427  {"IPPROTO_UDP", IPPROTO_UDP},
428  {"IPPROTO_ICMP", IPPROTO_ICMP},
429  {"IPPROTO_ICMPV6", IPPROTO_ICMPV6},
430  {"IPPROTO_IP", IPPROTO_IP},
431  {"IPPROTO_IGMP", IPPROTO_IGMP},
432  {"ENCAPS_AUTO", OPENVAS_ENCAPS_AUTO},
433  {"ENCAPS_IP", OPENVAS_ENCAPS_IP},
434  {"ENCAPS_SSLv23", OPENVAS_ENCAPS_SSLv23},
435  {"ENCAPS_SSLv2", OPENVAS_ENCAPS_SSLv2},
436  {"ENCAPS_SSLv3", OPENVAS_ENCAPS_SSLv3},
437  {"ENCAPS_TLSv1", OPENVAS_ENCAPS_TLSv1},
438  {"ENCAPS_TLSv11", OPENVAS_ENCAPS_TLSv11},
439  {"ENCAPS_TLSv12", OPENVAS_ENCAPS_TLSv12},
440  {"ENCAPS_TLSv13", OPENVAS_ENCAPS_TLSv13},
441  {"ENCAPS_TLScustom", OPENVAS_ENCAPS_TLScustom},
442  {"ENCAPS_MAX", OPENVAS_ENCAPS_MAX},
443  {"TH_FIN", TH_FIN},
444  {"TH_SYN", TH_SYN},
445  {"TH_RST", TH_RST},
446  {"TH_PUSH", TH_PUSH},
447  {"TH_ACK", TH_ACK},
448  {"TH_URG", TH_URG},
449  {"IP_RF", IP_RF},
450  {"IP_DF", IP_DF},
451  {"IP_MF", IP_MF},
452  {"IP_OFFMASK", IP_OFFMASK},
453  {"TCPOPT_MAXSEG", TCPOPT_MAXSEG},
454  {"TCPOPT_WINDOW", TCPOPT_WINDOW},
455  {"TCPOPT_SACK_PERMITTED", TCPOPT_SACK_PERMITTED},
456  {"TCPOPT_TIMESTAMP", TCPOPT_TIMESTAMP},
457  {"ACT_INIT", ACT_INIT},
458  {"ACT_GATHER_INFO", ACT_GATHER_INFO},
459  {"ACT_ATTACK", ACT_ATTACK},
460  {"ACT_MIXED_ATTACK", ACT_MIXED_ATTACK},
461  {"ACT_DESTRUCTIVE_ATTACK", ACT_DESTRUCTIVE_ATTACK},
462  {"ACT_DENIAL", ACT_DENIAL},
463  {"ACT_SCANNER", ACT_SCANNER},
464  {"ACT_SETTINGS", ACT_SETTINGS},
465  {"ACT_KILL_HOST", ACT_KILL_HOST},
466  {"ACT_FLOOD", ACT_FLOOD},
467  {"ACT_END", ACT_END},
468  {"MSG_OOB", MSG_OOB},
469  {"NOERR", NASL_ERR_NOERR},
470  {"ETIMEDOUT", NASL_ERR_ETIMEDOUT},
471  {"ECONNRESET", NASL_ERR_ECONNRESET},
472  {"EUNREACH", NASL_ERR_EUNREACH},
473  {"EUNKNOWN", NASL_ERR_EUNKNOWN},
474  {NULL, 0},
475 };
476 
477 /* See also in exec.c:
478  * COMMAND_LINE
479  * description
480  */
481 
485 void
487 {
488  tree_cell tc;
489  unsigned i;
490 
491  memset (&tc, 0, sizeof (tc));
492 
493  // Initialize constant integer terms
494  tc.type = CONST_INT;
495  for (i = 0; i < sizeof (libivars) / sizeof (libivars[0]) - 1; i++)
496  {
497  tc.x.i_val = libivars[i].val;
498  if (add_named_var_to_ctxt (lexic, libivars[i].name, &tc) == NULL)
499  {
500  nasl_perror (lexic, "init_nasl_library: could not define var '%s'\n",
501  libivars[i].name);
502  continue;
503  }
504  }
505 
506  // Initialize constant string terms
507  tc.type = CONST_DATA;
508  for (i = 0; i < sizeof (libsvars) / sizeof (libsvars[0]) - 1; i++)
509  {
510  tc.x.str_val = (char *) libsvars[i].val;
511  tc.size = strlen (libsvars[i].val);
512  if (add_named_var_to_ctxt (lexic, libsvars[i].name, &tc) == NULL)
513  {
514  nasl_perror (lexic, "init_nasl_library: could not define var '%s'\n",
515  libsvars[i].name);
516  continue;
517  }
518  }
519 
520  // Add the "NULL" variable
521  if (add_named_var_to_ctxt (lexic, "NULL", NULL) == NULL)
522  nasl_perror (lexic, "init_nasl_library: could not define var 'NULL'\n");
523 }
524 
525 nasl_func *
526 func_is_internal (const char *name)
527 {
528  size_t i;
529 
530  if (!name)
531  return NULL;
532 
533  for (i = 0; i < sizeof (libfuncs) / sizeof (libfuncs[0]) - 1; i++)
534  {
535  if (!strcmp (name, libfuncs[i].name))
536  return (nasl_func *) &libfuncs[i];
537  }
538  return NULL;
539 }
540 
541 char *
543 {
544  static char vers[sizeof (OPENVASLIB_VERSION) + 1];
545  strncpy (vers, OPENVASLIB_VERSION, sizeof (vers) - 1);
546  vers[sizeof (vers) - 1] = '\0';
547  return vers;
548 }
549 
553 void
555 {
556  int i;
557  for (i = 0; libivars[i].name != NULL; i++)
558  *list = g_slist_append (*list, g_strdup (libivars[i].name));
559  for (i = 0; libsvars[i].name != NULL; i++)
560  *list = g_slist_append (*list, g_strdup (libsvars[i].name));
561 }
nasl_aes_mac_gcm
tree_cell * nasl_aes_mac_gcm(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1736
security_message
tree_cell * security_message(lex_ctxt *lexic)
Send a security message to the client.
Definition: nasl_scanner_glue.c:1015
nasl_win_cmd_exec
tree_cell * nasl_win_cmd_exec(lex_ctxt *lexic)
Execute the command in windows.
Definition: nasl_smb.c:335
nasl_stridx
tree_cell * nasl_stridx(lex_ctxt *lexic)
Returns index of a substring.
Definition: nasl_text_utils.c:1321
nasl_sort_array
tree_cell * nasl_sort_array(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:613
nasl_version
char * nasl_version()
Definition: nasl_init.c:542
script_copyright
tree_cell * script_copyright(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:248
nasl_md5
tree_cell * nasl_md5(lex_ctxt *lexic)
Definition: nasl_crypto.c:125
nasl_pcap_next
tree_cell * nasl_pcap_next(lex_ctxt *lexic)
Listen to one packet and return it.
Definition: nasl_packet_forgery.c:2338
nasl_snmp.h
Headers of an API for SNMP used by NASL scripts.
nasl_dec2str
tree_cell * nasl_dec2str(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:876
nasl_misc_funcs.h
nasl_get_byte_order
tree_cell * nasl_get_byte_order(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:899
nasl_do_exit
tree_cell * nasl_do_exit(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:313
nasl_defined_func
tree_cell * nasl_defined_func(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:573
nasl_aes128_gcm_decrypt
tree_cell * nasl_aes128_gcm_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2010
nasl_isotime_is_valid
tree_cell * nasl_isotime_is_valid(lex_ctxt *lexic)
Check whether an ISO time string is valid.
Definition: nasl_isotime.c:575
nasl_close_socket
tree_cell * nasl_close_socket(lex_ctxt *lexic)
Definition: nasl_socket.c:1012
nasl_forge_frame
tree_cell * nasl_forge_frame(lex_ctxt *lexic)
Forge a datalink layer frame.
Definition: nasl_frame_forgery.c:268
script_require_ports
tree_cell * script_require_ports(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:399
nasl_hex
tree_cell * nasl_hex(lex_ctxt *lexic)
Definition: nasl_text_utils.c:319
nasl_localtime
tree_cell * nasl_localtime(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:669
ACT_FLOOD
@ ACT_FLOOD
Definition: nvt_categories.h:33
dump_tcp_v6_packet
tree_cell * dump_tcp_v6_packet(lex_ctxt *lexic)
Dump TCP part of an IPv6 Datagram.
Definition: nasl_packet_forgery_v6.c:1249
script_require_udp_ports
tree_cell * script_require_udp_ports(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:417
nasl_bf_cbc_decrypt
tree_cell * nasl_bf_cbc_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1514
nasl_ntlmv2_response
tree_cell * nasl_ntlmv2_response(lex_ctxt *lexic)
Definition: nasl_crypto.c:513
nasl_chomp
tree_cell * nasl_chomp(lex_ctxt *lexic)
Takes an unnamed string argument and removes any spaces at the end of it. "Space" means white space,...
Definition: nasl_text_utils.c:1195
libivars
static struct @4 libivars[]
resolve_hostname
tree_cell * resolve_hostname(lex_ctxt *lexic)
Definition: nasl_host.c:184
get_hostname
tree_cell * get_hostname(lex_ctxt *lexic)
Definition: nasl_host.c:77
nasl_rc4_encrypt
tree_cell * nasl_rc4_encrypt(lex_ctxt *lexic)
Nasl function to encrypt data with a RC4 cipher. If an hd param exist in the lexix context,...
Definition: nasl_crypto2.c:1928
CONST_DATA
@ CONST_DATA
Definition: nasl_tree.h:82
plugin_run_openvas_tcp_scanner
tree_cell * plugin_run_openvas_tcp_scanner(lex_ctxt *lexic)
Definition: nasl_builtin_openvas_tcp_scanner.c:1049
nasl_close_stream_cipher
tree_cell * nasl_close_stream_cipher(lex_ctxt *lexic)
Nasl function to delete a cipher item from the cipher table.
Definition: nasl_crypto2.c:1675
set_tcp_v6_elements
tree_cell * set_tcp_v6_elements(lex_ctxt *lexic)
Set TCP Header element.
Definition: nasl_packet_forgery_v6.c:894
nasl_smb.h
Protos for NASL SMB API.
nasl_cert.h
Protos and data structures for CERT functions used by NASL scripts.
nasl_int
tree_cell * nasl_int(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1435
nasl_file_read
tree_cell * nasl_file_read(lex_ctxt *lexic)
Read file.
Definition: nasl_cmd_exec.c:501
nasl_aes256_gcm_decrypt
tree_cell * nasl_aes256_gcm_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2037
nasl_ssh_get_auth_methods
tree_cell * nasl_ssh_get_auth_methods(lex_ctxt *lexic)
Get the list of authmethods.
Definition: nasl_ssh.c:1605
nasl_file_write
tree_cell * nasl_file_write(lex_ctxt *lexic)
Write file.
Definition: nasl_cmd_exec.c:543
nasl_send_capture
tree_cell * nasl_send_capture(lex_ctxt *lexic)
Send a capture.
Definition: nasl_packet_forgery.c:2488
insert_ip_v6_options
tree_cell * insert_ip_v6_options(lex_ctxt *lexic)
Adds an IPv6 option to the datagram.
Definition: nasl_packet_forgery_v6.c:394
nasl_wmi_reg_set_dword_val
tree_cell * nasl_wmi_reg_set_dword_val(lex_ctxt *lexic)
Set Registry DWORD value.
Definition: nasl_wmi.c:808
nasl_aes256_gcm_decrypt_auth
tree_cell * nasl_aes256_gcm_decrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2044
add_named_var_to_ctxt
named_nasl_var * add_named_var_to_ctxt(lex_ctxt *, const char *, tree_cell *)
Definition: nasl_var.c:813
nasl_tcp_ping
tree_cell * nasl_tcp_ping(lex_ctxt *lexic)
Launches a “TCP ping” against the target host.
Definition: nasl_packet_forgery.c:2048
OPENVAS_ENCAPS_IP
@ OPENVAS_ENCAPS_IP
Definition: network.h:31
nasl_aes128_gcm_decrypt_auth
tree_cell * nasl_aes128_gcm_decrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2017
nasl_end_denial
tree_cell * nasl_end_denial(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:231
nasl_file_stat
tree_cell * nasl_file_stat(lex_ctxt *lexic)
Stat file.
Definition: nasl_cmd_exec.c:391
nasl_nt_owf_gen
tree_cell * nasl_nt_owf_gen(lex_ctxt *lexic)
Definition: nasl_crypto.c:692
nasl_aes128_gcm_encrypt_auth
tree_cell * nasl_aes128_gcm_encrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2004
nasl_send_v6packet
tree_cell * nasl_send_v6packet(lex_ctxt *lexic)
Send forged IPv6 Packets.
Definition: nasl_packet_forgery_v6.c:2323
nasl_ssh.h
Protos and data structures for SSH functions used by NASL scripts.
nasl_recv
tree_cell * nasl_recv(lex_ctxt *lexic)
Definition: nasl_socket.c:754
TC::str_val
char * str_val
Definition: nasl_tree.h:103
nasl_join_multicast_group
tree_cell * nasl_join_multicast_group(lex_ctxt *lexic)
Definition: nasl_socket.c:1057
nasl_socket_negotiate_ssl
tree_cell * nasl_socket_negotiate_ssl(lex_ctxt *lexic)
Definition: nasl_socket.c:582
nasl_aes128_ccm_decrypt
tree_cell * nasl_aes128_ccm_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2064
get_kb_item
tree_cell * get_kb_item(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:709
nasl_wmi_reg_set_ex_string_val
tree_cell * nasl_wmi_reg_set_ex_string_val(lex_ctxt *lexic)
Set Registry Expanded string value.
Definition: nasl_wmi.c:908
nasl_crap
tree_cell * nasl_crap(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1218
resolve_hostname_to_multiple_ips
tree_cell * resolve_hostname_to_multiple_ips(lex_ctxt *lexic)
Resolve a hostname and return all ip addresses as nasl array.
Definition: nasl_host.c:151
nasl_aes256_ctr_encrypt
tree_cell * nasl_aes256_ctr_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1983
insert_tcp_v6_options
tree_cell * insert_tcp_v6_options(lex_ctxt *lexic)
Add options to a TCP segment header. Possible options are: TCPOPT_MAXSEG (2), values between 536 and ...
Definition: nasl_packet_forgery_v6.c:999
nasl_ntlmv1_hash
tree_cell * nasl_ntlmv1_hash(lex_ctxt *lexic)
Definition: nasl_crypto.c:660
dump_icmp_packet
tree_cell * dump_icmp_packet(lex_ctxt *lexic)
Dump the ICMP part of a IP Datagram.
Definition: nasl_packet_forgery.c:1928
nasl_hmac_ripemd160
tree_cell * nasl_hmac_ripemd160(lex_ctxt *lexic)
Definition: nasl_crypto.c:237
nasl_smb_close
tree_cell * nasl_smb_close(lex_ctxt *lexic)
Close SMB service handle.
Definition: nasl_smb.c:131
nasl_rsa_public_encrypt
tree_cell * nasl_rsa_public_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:766
nasl_get_sock_info
tree_cell * nasl_get_sock_info(lex_ctxt *lexic)
Get info pertaining to a socket.
Definition: nasl_socket.c:1297
nasl_eregmatch
tree_cell * nasl_eregmatch(lex_ctxt *lexic)
Does extended regular expression pattern matching.
Definition: nasl_text_utils.c:850
nasl_isotime.h
Protos and data structures for ISOTIME functions used by NASL scripts.
nasl_ntv2_owf_gen
tree_cell * nasl_ntv2_owf_gen(lex_ctxt *lexic)
Definition: nasl_crypto.c:781
nasl_socket_get_cert
tree_cell * nasl_socket_get_cert(lex_ctxt *lexic)
Definition: nasl_socket.c:676
nasl_ssh_shell_close
tree_cell * nasl_ssh_shell_close(lex_ctxt *lexic)
Close an ssh shell.
Definition: nasl_ssh.c:1958
nasl_ssh_userauth
tree_cell * nasl_ssh_userauth(lex_ctxt *lexic)
Authenticate a user on an ssh connection.
Definition: nasl_ssh.c:825
nasl_scanner_get_port
tree_cell * nasl_scanner_get_port(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1077
nasl_send_arp_request
tree_cell * nasl_send_arp_request(lex_ctxt *lexic)
Send an arp request to an IP host.
Definition: nasl_frame_forgery.c:471
nasl_str_replace
tree_cell * nasl_str_replace(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1357
nasl_ssh_request_exec
tree_cell * nasl_ssh_request_exec(lex_ctxt *lexic)
Run a command via ssh.
Definition: nasl_ssh.c:1345
script_exclude_keys
tree_cell * script_exclude_keys(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:376
nasl_target_is_ipv6
tree_cell * nasl_target_is_ipv6(lex_ctxt *lexic)
Definition: nasl_host.c:557
set_udp_v6_elements
tree_cell * set_udp_v6_elements(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1551
TC::x
union TC::@5 x
nasl_start_denial
tree_cell * nasl_start_denial(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:199
libfuncs
static init_func libfuncs[]
Definition: nasl_init.c:58
forge_igmp_v6_packet
tree_cell * forge_igmp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:2110
add_hostname
tree_cell * add_hostname(lex_ctxt *lexic)
Definition: nasl_host.c:111
nasl_unixtime
tree_cell * nasl_unixtime(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:638
st_nasl_func
Definition: nasl_func.h:15
script_cve_id
tree_cell * script_cve_id(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:112
script_family
tree_cell * script_family(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:272
nasl_http.h
nasl_hmac_md2
tree_cell * nasl_hmac_md2(lex_ctxt *lexic)
Definition: nasl_crypto.c:213
nasl_dsa_do_sign
tree_cell * nasl_dsa_do_sign(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1247
nasl_ssh_get_server_banner
tree_cell * nasl_ssh_get_server_banner(lex_ctxt *lexic)
Get the server banner.
Definition: nasl_ssh.c:1520
nasl_rsa_sign
tree_cell * nasl_rsa_sign(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1094
nasl_match
tree_cell * nasl_match(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1064
nasl_ftp_get_pasv_address
tree_cell * nasl_ftp_get_pasv_address(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:103
nasl_smb_gmac_aes_sign
tree_cell * nasl_smb_gmac_aes_sign(lex_ctxt *lexic)
Definition: nasl_crypto.c:507
OPENVAS_ENCAPS_TLSv13
@ OPENVAS_ENCAPS_TLSv13
Definition: network.h:38
nasl_ssh_shell_write
tree_cell * nasl_ssh_shell_write(lex_ctxt *lexic)
Write string to ssh shell.
Definition: nasl_ssh.c:1902
ACT_ATTACK
@ ACT_ATTACK
Definition: nvt_categories.h:28
get_tcp_v6_element
tree_cell * get_tcp_v6_element(lex_ctxt *lexic)
Get TCP Header element.
Definition: nasl_packet_forgery_v6.c:618
nasl_ssh_shell_read
tree_cell * nasl_ssh_shell_read(lex_ctxt *lexic)
Read the output of an ssh shell.
Definition: nasl_ssh.c:1850
nasl_file_seek
tree_cell * nasl_file_seek(lex_ctxt *lexic)
Seek in file.
Definition: nasl_cmd_exec.c:586
nasl_aes256_gcm_encrypt
tree_cell * nasl_aes256_gcm_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2024
nasl_this_host_name
tree_cell * nasl_this_host_name(lex_ctxt *lexic)
Definition: nasl_host.c:351
set_tcp_elements
tree_cell * set_tcp_elements(lex_ctxt *lexic)
Modify the TCP fields of a datagram.
Definition: nasl_packet_forgery.c:929
plugin_run_synscan
tree_cell * plugin_run_synscan(lex_ctxt *)
Definition: nasl_builtin_synscan.c:778
nasl_insert_hexzeros
tree_cell * nasl_insert_hexzeros(lex_ctxt *lexic)
Definition: nasl_crypto.c:740
nasl_scanner_add_port
tree_cell * nasl_scanner_add_port(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1117
nasl_wmi_connect
tree_cell * nasl_wmi_connect(lex_ctxt *lexic)
Connect to a WMI service and return a handle for it.
Definition: nasl_wmi.c:128
nasl_smb_file_owner_sid
tree_cell * nasl_smb_file_owner_sid(lex_ctxt *lexic)
Obtain File Owner SID.
Definition: nasl_smb.c:204
exec.h
dump_udp_packet
tree_cell * dump_udp_packet(lex_ctxt *lexic)
Dump the UDP part of a IP Datagram.
Definition: nasl_packet_forgery.c:1732
nasl_wmi_query
tree_cell * nasl_wmi_query(lex_ctxt *lexic)
Perform WQL query.
Definition: nasl_wmi.c:220
nasl_file_open
tree_cell * nasl_file_open(lex_ctxt *lexic)
Open file.
Definition: nasl_cmd_exec.c:416
nasl_open_sock_udp
tree_cell * nasl_open_sock_udp(lex_ctxt *lexic)
Definition: nasl_socket.c:521
nasl_wmi_reg_get_ex_string_val
tree_cell * nasl_wmi_reg_get_ex_string_val(lex_ctxt *lexic)
Get registry expanded string value.
Definition: nasl_wmi.c:672
NASL_ERR_NOERR
#define NASL_ERR_NOERR
Definition: nasl.h:51
libsvars
static struct @3 libsvars[]
script_dependencies
tree_cell * script_dependencies(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:279
nasl_make_array
tree_cell * nasl_make_array(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:418
nasl_keyexchg
tree_cell * nasl_keyexchg(lex_ctxt *lexic)
Definition: nasl_crypto.c:630
ACT_END
@ ACT_END
Definition: nvt_categories.h:34
name
const char * name
Definition: nasl_init.c:411
nasl_egrep
tree_cell * nasl_egrep(lex_ctxt *lexic)
looks for a pattern in a string, line by line.
Definition: nasl_text_utils.c:725
nasl_aes_mac_cbc
tree_cell * nasl_aes_mac_cbc(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1730
get_hostnames
tree_cell * get_hostnames(lex_ctxt *lexic)
Definition: nasl_host.c:47
nasl_hmac_sha384
tree_cell * nasl_hmac_sha384(lex_ctxt *lexic)
Definition: nasl_crypto.c:231
get_host_ip
tree_cell * get_host_ip(lex_ctxt *lexic)
Definition: nasl_host.c:206
nasl_smb_file_SDDL
tree_cell * nasl_smb_file_SDDL(lex_ctxt *lexic)
Obtain Security Descriptor in SDDL format.
Definition: nasl_smb.c:161
set_kb_item
tree_cell * set_kb_item(lex_ctxt *lexic)
Set a kb item.
Definition: nasl_scanner_glue.c:890
NASL_ERR_EUNREACH
#define NASL_ERR_EUNREACH
Definition: nasl.h:54
insert_ip_options
tree_cell * insert_ip_options(lex_ctxt *lexic)
Add option datagram.
Definition: nasl_packet_forgery.c:357
ACT_SETTINGS
@ ACT_SETTINGS
Definition: nvt_categories.h:26
forge_tcp_v6_packet
tree_cell * forge_tcp_v6_packet(lex_ctxt *lexic)
Forge TCP packet.
Definition: nasl_packet_forgery_v6.c:530
nasl_send_frame
tree_cell * nasl_send_frame(lex_ctxt *lexic)
Send a frame and listen to the answer.
Definition: nasl_frame_forgery.c:314
nasl_isotime_add
tree_cell * nasl_isotime_add(lex_ctxt *lexic)
Add days or seconds to an ISO time string.
Definition: nasl_isotime.c:727
OPENVAS_ENCAPS_MAX
@ OPENVAS_ENCAPS_MAX
Definition: network.h:40
OPENVAS_ENCAPS_TLScustom
@ OPENVAS_ENCAPS_TLScustom
Definition: network.h:39
get_ip_element
tree_cell * get_ip_element(lex_ctxt *lexic)
Extracts a field from an IP datagram.
Definition: nasl_packet_forgery.c:183
nasl_hmac_sha1
tree_cell * nasl_hmac_sha1(lex_ctxt *lexic)
Definition: nasl_crypto.c:225
nasl_open_sock_tcp
tree_cell * nasl_open_sock_tcp(lex_ctxt *lexic)
Open a TCP socket to the target host.
Definition: nasl_socket.c:509
get_icmp_element
tree_cell * get_icmp_element(lex_ctxt *lexic)
Get an ICMP element from a IP datagram.
Definition: nasl_packet_forgery.c:1854
ACT_DENIAL
@ ACT_DENIAL
Definition: nvt_categories.h:31
nasl_get_local_mac_address_from_ip
tree_cell * nasl_get_local_mac_address_from_ip(lex_ctxt *lexic)
Get the MAC address of host.
Definition: nasl_frame_forgery.c:438
log_message
tree_cell * log_message(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1021
nasl_wmi_reg_get_sz
tree_cell * nasl_wmi_reg_get_sz(lex_ctxt *lexic)
Get string value from Registry.
Definition: nasl_wmi.c:448
nasl_des_ede_cbc_encrypt
tree_cell * nasl_des_ede_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1990
nasl_aes256_ccm_encrypt
tree_cell * nasl_aes256_ccm_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2078
nasl_rsa_public_decrypt
tree_cell * nasl_rsa_public_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:957
nasl_builtin_plugins.h
Header file for built-in plugins.
nasl_dh_generate_key
tree_cell * nasl_dh_generate_key(lex_ctxt *lexic)
Definition: nasl_crypto2.c:570
nasl_pread
tree_cell * nasl_pread(lex_ctxt *lexic)
Spawn a process.
Definition: nasl_cmd_exec.c:100
nasl_prf_sha384
tree_cell * nasl_prf_sha384(lex_ctxt *lexic)
Definition: nasl_crypto.c:477
nasl_open_rc4_cipher
tree_cell * nasl_open_rc4_cipher(lex_ctxt *lexic)
Nasl function to open RC4 cipher to encrypt a stream of data. The handler can be used to encrypt stre...
Definition: nasl_crypto2.c:1955
nasl_debug.h
nasl_get_source_port
tree_cell * nasl_get_source_port(lex_ctxt *lexic)
Definition: nasl_socket.c:1155
script_add_preference
tree_cell * script_add_preference(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:435
nasl_aes256_ccm_decrypt
tree_cell * nasl_aes256_ccm_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2091
nasl_wmi_reg_get_bin_val
tree_cell * nasl_wmi_reg_get_bin_val(lex_ctxt *lexic)
Get registry binary value.
Definition: nasl_wmi.c:579
get_hostname_source
tree_cell * get_hostname_source(lex_ctxt *lexic)
Definition: nasl_host.c:93
forge_tcp_packet
tree_cell * forge_tcp_packet(lex_ctxt *lexic)
Fills an IP datagram with TCP data. Note that the ip_p field is not updated. It returns the modified ...
Definition: nasl_packet_forgery.c:555
nasl_scanner_status
tree_cell * nasl_scanner_status(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1133
nasl_pem_to_dsa
tree_cell * nasl_pem_to_dsa(lex_ctxt *lexic)
Definition: nasl_crypto2.c:501
get_port_transport
tree_cell * get_port_transport(lex_ctxt *lexic)
Return the encapsulation mode of a port.
Definition: nasl_host.c:401
nasl_fread
tree_cell * nasl_fread(lex_ctxt *lexic)
Read file.
Definition: nasl_cmd_exec.c:270
forge_igmp_packet
tree_cell * forge_igmp_packet(lex_ctxt *lexic)
Fills an IP datagram with IGMP data.
Definition: nasl_packet_forgery.c:1974
nasl_hmac_sha512
tree_cell * nasl_hmac_sha512(lex_ctxt *lexic)
Definition: nasl_crypto.c:489
nasl_md4
tree_cell * nasl_md4(lex_ctxt *lexic)
Definition: nasl_crypto.c:119
nasl_isotime_print
tree_cell * nasl_isotime_print(lex_ctxt *lexic)
Convert an SIO time string into a better readable string.
Definition: nasl_isotime.c:677
nasl_file_close
tree_cell * nasl_file_close(lex_ctxt *lexic)
Close file.
Definition: nasl_cmd_exec.c:474
nasl_perror
void nasl_perror(lex_ctxt *lexic, char *msg,...)
Definition: nasl_debug.c:111
get_udp_element
tree_cell * get_udp_element(lex_ctxt *lexic)
Get an UDP element from a IP datagram.
Definition: nasl_packet_forgery.c:1544
http_close_socket
tree_cell * http_close_socket(lex_ctxt *lexic)
Definition: nasl_http.c:41
script_version
tree_cell * script_version(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:241
get_ip_v6_element
tree_cell * get_ip_v6_element(lex_ctxt *lexic)
Obtain IPv6 header element.
Definition: nasl_packet_forgery_v6.c:190
nasl_telnet_init
tree_cell * nasl_telnet_init(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:124
nasl_cipher_des
tree_cell * nasl_cipher_des(lex_ctxt *lexic)
Definition: nasl_crypto.c:187
init_func
Definition: nasl_init.c:47
nasl_wmi_close
tree_cell * nasl_wmi_close(lex_ctxt *lexic)
Close WMI service handle.
Definition: nasl_wmi.c:191
nasl_ssh_connect
tree_cell * nasl_ssh_connect(lex_ctxt *lexic)
Connect to the target host via TCP and setup an ssh connection.
Definition: nasl_ssh.c:225
nasl_snmpv1_getnext
tree_cell * nasl_snmpv1_getnext(lex_ctxt *lexic)
Definition: nasl_snmp.c:709
nasl_md2
tree_cell * nasl_md2(lex_ctxt *lexic)
Definition: nasl_crypto.c:113
TC::size
int size
Definition: nasl_tree.h:99
init_nasl_library
void init_nasl_library(lex_ctxt *lexic)
Adds "built-in" variable and function definitions to a context.
Definition: nasl_init.c:486
cgibin
tree_cell * cgibin(lex_ctxt *lexic)
Definition: nasl_http.c:224
script_require_keys
tree_cell * script_require_keys(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:305
nasl_scanner_glue.h
script_tag
tree_cell * script_tag(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:194
nasl_rand
tree_cell * nasl_rand(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:46
nasl_wmi_reg_enum_key
tree_cell * nasl_wmi_reg_enum_key(lex_ctxt *lexic)
Enumerate registry keys.
Definition: nasl_wmi.c:536
nasl_fwrite
tree_cell * nasl_fwrite(lex_ctxt *lexic)
Write file.
Definition: nasl_cmd_exec.c:331
nasl_gettimeofday
tree_cell * nasl_gettimeofday(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:649
nasl_ereg
tree_cell * nasl_ereg(lex_ctxt *lexic)
Matches a string against a regular expression.
Definition: nasl_text_utils.c:449
nasl_substr
tree_cell * nasl_substr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:950
get_udp_port_state
tree_cell * get_udp_port_state(lex_ctxt *lexic)
Definition: nasl_host.c:256
OPENVAS_ENCAPS_SSLv2
@ OPENVAS_ENCAPS_SSLv2
Definition: network.h:33
insert_tcp_options
tree_cell * insert_tcp_options(lex_ctxt *lexic)
Add options to a TCP segment header. Possible options are: TCPOPT_MAXSEG (2), values between 536 and ...
Definition: nasl_packet_forgery.c:1042
nasl_wmi_reg_set_string_val
tree_cell * nasl_wmi_reg_set_string_val(lex_ctxt *lexic)
Set Registry string value.
Definition: nasl_wmi.c:950
nasl_host.h
nasl_typeof
tree_cell * nasl_typeof(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:534
nasl_lex_ctxt.h
nasl_leave_multicast_group
tree_cell * nasl_leave_multicast_group(lex_ctxt *lexic)
Definition: nasl_socket.c:1123
nasl_recv_line
tree_cell * nasl_recv_line(lex_ctxt *lexic)
Definition: nasl_socket.c:847
nasl_lm_owf_gen
tree_cell * nasl_lm_owf_gen(lex_ctxt *lexic)
Definition: nasl_crypto.c:711
nasl_ssh_disconnect
tree_cell * nasl_ssh_disconnect(lex_ctxt *lexic)
Disconnect an ssh connection.
Definition: nasl_ssh.c:513
nasl_crypto2.h
forge_icmp_packet
tree_cell * forge_icmp_packet(lex_ctxt *lexic)
Fill an IP datagram with ICMP data.
Definition: nasl_packet_forgery.c:1778
nasl_this_host
tree_cell * nasl_this_host(lex_ctxt *lexic)
Definition: nasl_host.c:298
NASL_ERR_ECONNRESET
#define NASL_ERR_ECONNRESET
Definition: nasl.h:53
get_icmp_v6_element
tree_cell * get_icmp_v6_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1984
nasl_pem_to_rsa
tree_cell * nasl_pem_to_rsa(lex_ctxt *lexic)
Definition: nasl_crypto2.c:485
nasl_gzip
tree_cell * nasl_gzip(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:841
script_timeout
tree_cell * script_timeout(lex_ctxt *lexic)
Add timeout preference to VT preferences.
Definition: nasl_scanner_glue.c:87
dump_ip_v6_packet
tree_cell * dump_ip_v6_packet(lex_ctxt *lexic)
Print IPv6 Header.
Definition: nasl_packet_forgery_v6.c:336
nasl_ssh_shell_open
tree_cell * nasl_ssh_shell_open(lex_ctxt *lexic)
Request an ssh shell.
Definition: nasl_ssh.c:1705
nasl_wmi.h
Protos for NASL WMI API.
nasl_insstr
tree_cell * nasl_insstr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1006
nasl_aes128_ctr_encrypt
tree_cell * nasl_aes128_ctr_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1976
nasl.h
forge_udp_v6_packet
tree_cell * forge_udp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1395
add_nasl_library
void add_nasl_library(GSList **list)
Add "built-in" variables to a list.
Definition: nasl_init.c:554
nasl_smb_connect
tree_cell * nasl_smb_connect(lex_ctxt *lexic)
Connect to SMB service and return a handle for it.
Definition: nasl_smb.c:76
nasl_dsa_do_verify
tree_cell * nasl_dsa_do_verify(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1158
nasl_socket_get_ssl_version
tree_cell * nasl_socket_get_ssl_version(lex_ctxt *lexic)
Definition: nasl_socket.c:721
init_func::name
const char * name
Definition: nasl_init.c:49
nasl_packet_forgery_v6.h
nasl_tolower
tree_cell * nasl_tolower(lex_ctxt *lexic)
Definition: nasl_text_utils.c:385
nasl_send_packet
tree_cell * nasl_send_packet(lex_ctxt *lexic)
Send a list of packets (passed as unnamed arguments) and listens to the answers. It returns a block m...
Definition: nasl_packet_forgery.c:2202
nasl_dump_ctxt
tree_cell * nasl_dump_ctxt(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:292
NASL_ERR_EUNKNOWN
#define NASL_ERR_EUNKNOWN
Definition: nasl.h:55
nasl_dump_frame
tree_cell * nasl_dump_frame(lex_ctxt *lexic)
Dump a datalink layer frame.
Definition: nasl_frame_forgery.c:363
forge_udp_packet
tree_cell * forge_udp_packet(lex_ctxt *lexic)
Fills an IP datagram with UDP data. Note that the ip_p field is not updated. It returns the modified ...
Definition: nasl_packet_forgery.c:1451
nasl_func.h
nasl_wmi_reg_set_qword_val
tree_cell * nasl_wmi_reg_set_qword_val(lex_ctxt *lexic)
Set Registry QWORD value.
Definition: nasl_wmi.c:858
nasl_snmpv1_get
tree_cell * nasl_snmpv1_get(lex_ctxt *lexic)
Definition: nasl_snmp.c:703
OPENVAS_ENCAPS_TLSv1
@ OPENVAS_ENCAPS_TLSv1
Definition: network.h:35
nasl_socket_get_ssl_session_id
tree_cell * nasl_socket_get_ssl_session_id(lex_ctxt *lexic)
Definition: nasl_socket.c:698
nasl_mktime
tree_cell * nasl_mktime(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:735
nasl_prf_sha256
tree_cell * nasl_prf_sha256(lex_ctxt *lexic)
Definition: nasl_crypto.c:471
get_tcp_element
tree_cell * get_tcp_element(lex_ctxt *lexic)
Extracts TCP field from an IP datagram.
Definition: nasl_packet_forgery.c:652
nasl_wmi_reg_delete_key
tree_cell * nasl_wmi_reg_delete_key(lex_ctxt *lexic)
Delete Registry key.
Definition: nasl_wmi.c:1029
nasl_frame_forgery.h
Header file for module nasl_frame_forgery.
func_is_internal
nasl_func * func_is_internal(const char *name)
Definition: nasl_init.c:526
script_name
tree_cell * script_name(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:234
get_kb_list
tree_cell * get_kb_list(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:648
nasl_hexstr
tree_cell * nasl_hexstr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:339
safe_checks
tree_cell * safe_checks(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:612
http_post
tree_cell * http_post(lex_ctxt *lexic)
Definition: nasl_http.c:198
nasl_smb_cmac_aes_sign
tree_cell * nasl_smb_cmac_aes_sign(lex_ctxt *lexic)
Definition: nasl_crypto.c:501
nasl_socket_cert_verify
tree_cell * nasl_socket_cert_verify(lex_ctxt *lexic)
Verify a certificate.
Definition: nasl_socket.c:1496
nasl_smb_file_group_sid
tree_cell * nasl_smb_file_group_sid(lex_ctxt *lexic)
Obtain File Group SID.
Definition: nasl_smb.c:247
nasl_sftp_enabled_check
tree_cell * nasl_sftp_enabled_check(lex_ctxt *lexic)
Check if the SFTP subsystem is enabled on the remote SSH server.
Definition: nasl_ssh.c:1993
nasl_strlen
tree_cell * nasl_strlen(lex_ctxt *lexic)
Definition: nasl_text_utils.c:252
TC
Definition: nasl_tree.h:94
nasl_ntlm_response
tree_cell * nasl_ntlm_response(lex_ctxt *lexic)
Definition: nasl_crypto.c:592
struct_lex_ctxt
Definition: nasl_lex_ctxt.h:23
plugin_run_find_service
tree_cell * plugin_run_find_service(lex_ctxt *lexic)
Definition: nasl_builtin_find_service.c:2435
nasl_ftp_log_in
tree_cell * nasl_ftp_log_in(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:75
nasl_snmpv2c_get
tree_cell * nasl_snmpv2c_get(lex_ctxt *lexic)
Definition: nasl_snmp.c:715
get_host_kb_index
tree_cell * get_host_kb_index(lex_ctxt *lexic)
Get the kb index of the host running the current script.
Definition: nasl_scanner_glue.c:761
nasl_ssh_login_interactive_pass
tree_cell * nasl_ssh_login_interactive_pass(lex_ctxt *lexic)
Authenticate a user on an ssh connection.
Definition: nasl_ssh.c:1128
TC::type
short type
Definition: nasl_tree.h:95
nasl_wmi_reg_create_key
tree_cell * nasl_wmi_reg_create_key(lex_ctxt *lexic)
Create Registry key.
Definition: nasl_wmi.c:990
nasl_wmi_versioninfo
tree_cell * nasl_wmi_versioninfo(lex_ctxt *lexic)
Get a version string of the WMI implementation.
Definition: nasl_wmi.c:94
nasl_ord
tree_cell * nasl_ord(lex_ctxt *lexic)
Definition: nasl_text_utils.c:366
nasl_islocalnet
tree_cell * nasl_islocalnet(lex_ctxt *lexic)
Definition: nasl_host.c:286
nasl_var.h
nasl_packet_forgery.h
nasl_wmi_connect_rsop
tree_cell * nasl_wmi_connect_rsop(lex_ctxt *lexic)
Connect to a WMI RSOP service and return a handle for it.
Definition: nasl_wmi.c:275
http_delete
tree_cell * http_delete(lex_ctxt *lexic)
Definition: nasl_http.c:207
nasl_dh_compute_key
tree_cell * nasl_dh_compute_key(lex_ctxt *lexic)
Definition: nasl_crypto2.c:615
nasl_cmd_exec.h
script_mandatory_keys
tree_cell * script_mandatory_keys(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:329
http_open_socket
tree_cell * http_open_socket(lex_ctxt *lexic)
Definition: nasl_http.c:35
set_udp_elements
tree_cell * set_udp_elements(lex_ctxt *lexic)
Modify UDP fields of an IP datagram.
Definition: nasl_packet_forgery.c:1620
nasl_same_host
tree_cell * nasl_same_host(lex_ctxt *lexic)
Definition: nasl_host.c:429
nasl_cert_open
tree_cell * nasl_cert_open(lex_ctxt *lexic)
OPENVAS_ENCAPS_SSLv3
@ OPENVAS_ENCAPS_SSLv3
Definition: network.h:34
forge_ip_v6_packet
tree_cell * forge_ip_v6_packet(lex_ctxt *lexic)
Forge an IPv6 packet.
Definition: nasl_packet_forgery_v6.c:118
dump_tcp_packet
tree_cell * dump_tcp_packet(lex_ctxt *lexic)
Dump the TCP part of a IP Datagram.
Definition: nasl_packet_forgery.c:1304
dump_icmp_v6_packet
tree_cell * dump_icmp_v6_packet(lex_ctxt *lexic)
Dump the ICMP part of a IP Datagram.
Definition: nasl_packet_forgery_v6.c:2053
get_host_open_port
tree_cell * get_host_open_port(lex_ctxt *lexic)
Definition: nasl_host.c:225
nasl_open_sock_kdc
tree_cell * nasl_open_sock_kdc(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:770
nasl_raw.h
nasl_find_in_path
tree_cell * nasl_find_in_path(lex_ctxt *lexic)
Definition: nasl_cmd_exec.c:243
nasl_wmi_reg_get_dword_val
tree_cell * nasl_wmi_reg_get_dword_val(lex_ctxt *lexic)
Get registry DWORD value.
Definition: nasl_wmi.c:624
nasl_bf_cbc_encrypt
tree_cell * nasl_bf_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1494
nasl_ripemd160
tree_cell * nasl_ripemd160(lex_ctxt *lexic)
Definition: nasl_crypto.c:149
nasl_socket_get_error
tree_cell * nasl_socket_get_error(lex_ctxt *lexic)
Definition: nasl_socket.c:1195
nasl_sha1
tree_cell * nasl_sha1(lex_ctxt *lexic)
Definition: nasl_crypto.c:131
nasl_aes128_cbc_encrypt
tree_cell * nasl_aes128_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1962
nasl_text_utils.h
nasl_hmac_md5
tree_cell * nasl_hmac_md5(lex_ctxt *lexic)
Definition: nasl_crypto.c:219
nasl_sleep
tree_cell * nasl_sleep(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:65
nasl_tcp_v6_ping
tree_cell * nasl_tcp_v6_ping(lex_ctxt *lexic)
Performs TCP Connect to test if host is alive.
Definition: nasl_packet_forgery_v6.c:2177
ACT_SCANNER
@ ACT_SCANNER
Definition: nvt_categories.h:25
nasl_cert_close
tree_cell * nasl_cert_close(lex_ctxt *lexic)
nasl_ssh_get_sock
tree_cell * nasl_ssh_get_sock(lex_ctxt *lexic)
Given a session id, return the corresponding socket.
Definition: nasl_ssh.c:621
forge_ip_packet
tree_cell * forge_ip_packet(lex_ctxt *lexic)
Forge an IP datagram.
Definition: nasl_packet_forgery.c:104
nasl_global_ctxt.h
CONST_INT
@ CONST_INT
Definition: nasl_tree.h:79
nasl_toupper
tree_cell * nasl_toupper(lex_ctxt *lexic)
Definition: nasl_text_utils.c:409
nasl_get_preference
tree_cell * nasl_get_preference(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1033
nasl_tls1_prf
tree_cell * nasl_tls1_prf(lex_ctxt *lexic)
Definition: nasl_crypto.c:483
nasl_sha512
tree_cell * nasl_sha512(lex_ctxt *lexic)
Definition: nasl_crypto.c:143
ACT_MIXED_ATTACK
@ ACT_MIXED_ATTACK
Definition: nvt_categories.h:29
nasl_cert_query
tree_cell * nasl_cert_query(lex_ctxt *lexic)
val
const char * val
Definition: nasl_init.c:412
get_tcp_v6_option
tree_cell * get_tcp_v6_option(lex_ctxt *lexic)
Get a TCP option from an IP datagram if present. Possible options are: TCPOPT_MAXSEG (2),...
Definition: nasl_packet_forgery_v6.c:775
http_head
tree_cell * http_head(lex_ctxt *lexic)
Definition: nasl_http.c:188
nasl_ssh_get_host_key
tree_cell * nasl_ssh_get_host_key(lex_ctxt *lexic)
Get the host key.
Definition: nasl_ssh.c:1561
set_ip_v6_elements
tree_cell * set_ip_v6_elements(lex_ctxt *lexic)
Set IPv6 header element.
Definition: nasl_packet_forgery_v6.c:295
nasl_send
tree_cell * nasl_send(lex_ctxt *lexic)
Definition: nasl_socket.c:960
replace_kb_item
tree_cell * replace_kb_item(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:780
nasl_ssh_session_id_from_sock
tree_cell * nasl_ssh_session_id_from_sock(lex_ctxt *lexic)
Given a socket, return the corresponding session id.
Definition: nasl_ssh.c:578
nasl_aes256_ccm_encrypt_auth
tree_cell * nasl_aes256_ccm_encrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2085
nasl_snmpv3_get
tree_cell * nasl_snmpv3_get(lex_ctxt *lexic)
Definition: nasl_snmp.c:832
nasl_hmac_sha256
tree_cell * nasl_hmac_sha256(lex_ctxt *lexic)
Definition: nasl_crypto.c:270
http_put
tree_cell * http_put(lex_ctxt *lexic)
Definition: nasl_http.c:216
forge_icmp_v6_packet
tree_cell * forge_icmp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1725
nasl_get_smb2_sign
tree_cell * nasl_get_smb2_sign(lex_ctxt *lexic)
Definition: nasl_crypto.c:495
get_udp_v6_element
tree_cell * get_udp_v6_element(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1479
nasl_get_tmp_dir
tree_cell * nasl_get_tmp_dir(lex_ctxt *lexic)
Definition: nasl_cmd_exec.c:360
nasl_socket_ssl_do_handshake
tree_cell * nasl_socket_ssl_do_handshake(lex_ctxt *lexic)
Do a re-handshake of the TLS/SSL protocol.
Definition: nasl_socket.c:658
script_get_preference_file_location
tree_cell * script_get_preference_file_location(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:573
nasl_open_priv_sock_tcp
tree_cell * nasl_open_priv_sock_tcp(lex_ctxt *lexic)
Definition: nasl_socket.c:395
nasl_aes128_ccm_encrypt
tree_cell * nasl_aes128_ccm_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2051
http_get
tree_cell * http_get(lex_ctxt *lexic)
Definition: nasl_http.c:176
nasl_gunzip
tree_cell * nasl_gunzip(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:816
nasl_get_mtu
tree_cell * nasl_get_mtu(lex_ctxt *lexic)
Definition: nasl_socket.c:943
nasl_wmi_reg_get_qword_val
tree_cell * nasl_wmi_reg_get_qword_val(lex_ctxt *lexic)
Get registry QWORD value.
Definition: nasl_wmi.c:762
nasl_isotime_scan
tree_cell * nasl_isotime_scan(lex_ctxt *lexic)
Convert a string into an ISO time string.
Definition: nasl_isotime.c:626
OPENVAS_ENCAPS_TLSv11
@ OPENVAS_ENCAPS_TLSv11
Definition: network.h:36
OPENVAS_ENCAPS_TLSv12
@ OPENVAS_ENCAPS_TLSv12
Definition: network.h:37
ACT_GATHER_INFO
@ ACT_GATHER_INFO
Definition: nvt_categories.h:27
script_xref
tree_cell * script_xref(lex_ctxt *lexic)
Add a cross reference to the meta data.
Definition: nasl_scanner_glue.c:150
nasl_init.h
dump_ip_packet
tree_cell * dump_ip_packet(lex_ctxt *lexic)
Dump IP datagrams.
Definition: nasl_packet_forgery.c:434
nasl_ssh_set_login
tree_cell * nasl_ssh_set_login(lex_ctxt *lexic)
Set the login name for the authentication.
Definition: nasl_ssh.c:728
nasl_bn_random
tree_cell * nasl_bn_random(lex_ctxt *lexic)
Definition: nasl_crypto2.c:318
ACT_KILL_HOST
@ ACT_KILL_HOST
Definition: nvt_categories.h:32
ACT_INIT
@ ACT_INIT
Definition: nvt_categories.h:24
nasl_snmpv2c_getnext
tree_cell * nasl_snmpv2c_getnext(lex_ctxt *lexic)
Definition: nasl_snmp.c:721
nasl_smb3kdf
tree_cell * nasl_smb3kdf(lex_ctxt *lexic)
Add the SMB3KDF as specified in [SP800-108] section 5.1.
Definition: nasl_crypto2.c:2111
script_get_preference_file_content
tree_cell * script_get_preference_file_content(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:529
nasl_vendor_version
tree_cell * nasl_vendor_version(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1056
error_message
tree_cell * error_message(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:1027
nasl_ssh_login_interactive
tree_cell * nasl_ssh_login_interactive(lex_ctxt *lexic)
Authenticate a user on an ssh connection.
Definition: nasl_ssh.c:1016
nasl_isnull
tree_cell * nasl_isnull(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:337
nasl_socket_get_ssl_ciphersuite
tree_cell * nasl_socket_get_ssl_ciphersuite(lex_ctxt *lexic)
Definition: nasl_socket.c:737
nasl_wmi_query_rsop
tree_cell * nasl_wmi_query_rsop(lex_ctxt *lexic)
WMI RSOP query.
Definition: nasl_wmi.c:334
nasl_aes128_ccm_decrypt_auth
tree_cell * nasl_aes128_ccm_decrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2071
nasl_max_index
tree_cell * nasl_max_index(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:513
nasl_aes128_ccm_encrypt_auth
tree_cell * nasl_aes128_ccm_encrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2058
nasl_islocalhost
tree_cell * nasl_islocalhost(lex_ctxt *lexic)
Definition: nasl_host.c:274
nasl_socket.h
ACT_DESTRUCTIVE_ATTACK
@ ACT_DESTRUCTIVE_ATTACK
Definition: nvt_categories.h:30
nasl_rsa_private_decrypt
tree_cell * nasl_rsa_private_decrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:858
nasl_rawstring
tree_cell * nasl_rawstring(lex_ctxt *lexic)
Definition: nasl_text_utils.c:136
nasl_string
tree_cell * nasl_string(lex_ctxt *lexic)
Definition: nasl_text_utils.c:39
get_port_state
tree_cell * get_port_state(lex_ctxt *lexic)
Definition: nasl_host.c:238
get_tcp_option
tree_cell * get_tcp_option(lex_ctxt *lexic)
Get a TCP option from an IP datagram if present. Possible options are: TCPOPT_MAXSEG (2),...
Definition: nasl_packet_forgery.c:802
nasl_ntlmv2_hash
tree_cell * nasl_ntlmv2_hash(lex_ctxt *lexic)
Definition: nasl_crypto.c:868
NASL_ERR_ETIMEDOUT
#define NASL_ERR_ETIMEDOUT
Definition: nasl.h:52
nasl_ereg_replace
tree_cell * nasl_ereg_replace(lex_ctxt *lexic)
Search for a pattern in a string and replace it.
Definition: nasl_text_utils.c:670
nasl_snmpv3_getnext
tree_cell * nasl_snmpv3_getnext(lex_ctxt *lexic)
Definition: nasl_snmp.c:838
set_ip_elements
tree_cell * set_ip_elements(lex_ctxt *lexic)
Modify the fields of a datagram.
Definition: nasl_packet_forgery.c:302
nasl_display
tree_cell * nasl_display(lex_ctxt *lexic)
Definition: nasl_text_utils.c:295
nasl_make_list
tree_cell * nasl_make_list(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:354
nasl_ntlm2_response
tree_cell * nasl_ntlm2_response(lex_ctxt *lexic)
Definition: nasl_crypto.c:557
nasl_keys
tree_cell * nasl_keys(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:466
nasl_aes256_cbc_encrypt
tree_cell * nasl_aes256_cbc_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1969
nasl_bn_cmp
tree_cell * nasl_bn_cmp(lex_ctxt *lexic)
Definition: nasl_crypto2.c:281
nasl_ssh_get_issue_banner
tree_cell * nasl_ssh_get_issue_banner(lex_ctxt *lexic)
Get the issue banner.
Definition: nasl_ssh.c:1471
nasl_unlink
tree_cell * nasl_unlink(lex_ctxt *lexic)
Unlink file.
Definition: nasl_cmd_exec.c:306
script_oid
tree_cell * script_oid(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:105
nasl_tree.h
nasl_isotime_now
tree_cell * nasl_isotime_now(lex_ctxt *lexic)
Return the current time in ISO format.
Definition: nasl_isotime.c:543
script_category
tree_cell * script_category(lex_ctxt *lexic)
Definition: nasl_scanner_glue.c:255
OPENVAS_ENCAPS_AUTO
@ OPENVAS_ENCAPS_AUTO
Definition: network.h:30
nasl_socket_check_ssl_safe_renegotiation
tree_cell * nasl_socket_check_ssl_safe_renegotiation(lex_ctxt *lexic)
Check if Secure Renegotiation is supported in the server side.
Definition: nasl_socket.c:626
script_get_preference
tree_cell * script_get_preference(lex_ctxt *lexic)
Get a preferences of the current script.
Definition: nasl_scanner_glue.c:492
nasl_get_sign
tree_cell * nasl_get_sign(lex_ctxt *lexic)
Definition: nasl_crypto.c:244
dump_udp_v6_packet
tree_cell * dump_udp_v6_packet(lex_ctxt *lexic)
Definition: nasl_packet_forgery_v6.c:1661
nasl_crypto.h
nasl_wmi_reg_enum_value
tree_cell * nasl_wmi_reg_enum_value(lex_ctxt *lexic)
Enumerate registry values.
Definition: nasl_wmi.c:493
nasl_sha256
tree_cell * nasl_sha256(lex_ctxt *lexic)
Definition: nasl_crypto.c:137
nasl_aes256_gcm_encrypt_auth
tree_cell * nasl_aes256_gcm_encrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2031
nasl_wmi_connect_reg
tree_cell * nasl_wmi_connect_reg(lex_ctxt *lexic)
Connect to a WMI Registry service and return a handle for it.
Definition: nasl_wmi.c:388
nasl_strstr
tree_cell * nasl_strstr(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1280
nasl_wmi_reg_get_mul_string_val
tree_cell * nasl_wmi_reg_get_mul_string_val(lex_ctxt *lexic)
Get registry multi valued strings.
Definition: nasl_wmi.c:717
list
Definition: nasl_builtin_synscan.c:249
nasl_aes128_gcm_encrypt
tree_cell * nasl_aes128_gcm_encrypt(lex_ctxt *lexic)
Definition: nasl_crypto2.c:1997
nasl_strcat
tree_cell * nasl_strcat(lex_ctxt *lexic)
Definition: nasl_text_utils.c:263
nasl_aes256_ccm_decrypt_auth
tree_cell * nasl_aes256_ccm_decrypt_auth(lex_ctxt *lexic)
Definition: nasl_crypto2.c:2098
nasl_smb_versioninfo
tree_cell * nasl_smb_versioninfo(lex_ctxt *lexic)
Get a version string of the SMB implementation.
Definition: nasl_smb.c:48
nasl_smb_file_trustee_rights
tree_cell * nasl_smb_file_trustee_rights(lex_ctxt *lexic)
Obtain File Trustee SID with Access Mask.
Definition: nasl_smb.c:290
get_script_oid
tree_cell * get_script_oid(lex_ctxt *lexic)
Return the OID of the current script.
Definition: nasl_scanner_glue.c:630
nasl_usleep
tree_cell * nasl_usleep(lex_ctxt *lexic)
Definition: nasl_misc_funcs.c:57
nasl_open_priv_sock_udp
tree_cell * nasl_open_priv_sock_udp(lex_ctxt *lexic)
Definition: nasl_socket.c:401
TC::i_val
long int i_val
Definition: nasl_tree.h:104
nasl_split
tree_cell * nasl_split(lex_ctxt *lexic)
Definition: nasl_text_utils.c:1088
OPENVAS_ENCAPS_SSLv23
@ OPENVAS_ENCAPS_SSLv23
Definition: network.h:32